Chapter 5.8 tcl error - multiple definition of 'fixstrtod'

Aaron Miller armantic101 at gmail.com
Sun Jun 18 19:53:35 PDT 2006


Thanks for clearing this up for me. If "CC=${target}-gcc" is telling
./configure to use my new toolchain as apposed to the host system, and
I can't build with this option set, would I be safe to assume that
this indicates my toolchain is broken? I thought I have been following
the book exactly but I just realized that I did a fresh install of
Slackware to build hlfs, and did not upgrade my kernel from the
default 2.4.31. This is most likely the cause of all the errors I have
been getting.

Well I have a kernel to compile, sorry to waste everybody's time.
...aaron

On 6/18/06, Robert Connolly <robert at linuxfromscratch.org> wrote:
> The toolchain in chapter 5 is cross compiled, and after the second pass it
> becomes a native toolchain. This was done so that you can go to or from Glibc
> and uClibc. The --target configure options make packages use
> i686-tools-linux-gnu-gcc/ld (the cross toolchain). The CC=${target}-gcc does
> the same thing. If you set CC=cc before gcc pass2, you'll be using your host
> system's gcc rather than the one in /tools. I'm not familiar with the
> fixstrtod problem with TCL.
>
> robert
>
> On June 18, 2006 05:42 pm, Aaron Miller wrote:
> > I don't think this went though previously since I had not yet
> > confirmed my account. Sorry about that.
> >
> > I think I have finally figured out the problem. Curious why I got LFS
> > was working, but not HLFS, I went though their build instructions real
> > quck to see what was different. I noticed that in that book there was
> > a link created cc-->gcc. Now I also noticed that there is no "gcc"
> > binary in my HLFS tools, but there is a "i686-tools-linux-gnu-gcc". Is
> > that what the "env CC=${target}-gcc" is for? Is it creating a
> > temporary link to my gcc  binary? If this is the case, I think there
> > might be a typo (I have been copping and pasting the commands).
> > Shouldn't CC=cc? I really have no idea, I just gave it a shot and it
> > seemed to work with this change. I am going to go back to the tcl step
> > and rebuild everything with this correction and see if it works out.
> >
> > Thanks for your time!
> > ...aaron
> >
> > PS: sorry for all the inbox clutter.
> >
> > On 6/18/06, Aaron Miller <armantic101 at gmail.com> wrote:
> > > Well it seems that I have run into similar problems for all three of
> > > test suite support applications. They were all complaining about being
> > > cross compiled in one way or another. None of them seem to like the
> > > "env CC=${target}-gcc" placed at the beginning of the ./configure
> > > line. Sorry for the newbish question, but could someone explain what
> > > this is for exactly? I was able to compile all three okay using the
> > > target I set up in the previous sections (i686-tools-linux-gnu) by
> > > using --target=${target}. As I have mentioned before, I am pretty new
> > > to Linux so I don't know if I'm going about this right. What will be
> > > the effect if I just drop off "env CC=${target}-gcc" for the rest of
> > > Chap 5? What exactly am I telling configure to do when I specify my
> > > own target? Can anyone recommend any reading about this target stuff
> > > that would make seance to a newbie?
> > >
> > > Thanks for the help!
> > > ...aaron
> > >
> > > On 6/18/06, Aaron Miller <armantic101 at gmail.com> wrote:
> > > > Hello,
> > > >
> > > > First off, I had asked how to solve this error on the lfs mailing list
> > > > not realizing that there was a separate one for hlfs. Sorry if I
> > > > inconvenienced anyone.
> > > >
> > > > I think I have found a solution, but I am still pretty new to Linux so
> > > > I don't know if I did this right or not. I wanted to make sure I
> > > > didn't so something that will give me problems down the road. So far I
> > > > have done everything straight by the book. However, when I got to
> > > > compiling tcl in chapter 5.8 of  Hardened Linux From Scratch - Version
> > > > SVN-20060510 (GLibc), I got an error complaining about multiple
> > > > definitions of `fixstrtod'. I found the following solution written by
> > > > Eric Hassold:
> > > >
> > > > ----------------------------------------
> > > > Tcl configure script makes some pessimistic assumptions when
> > > > cross-compiling (when AC_TRY_RUN can't run). One of them is guessing
> > > > libc has no strtod when small test program can't be run. Some
> > > > AC_TRY_RUN should actually be replaced by AC_TRY_LINK to provide better
> > > > estimate.
> > > >
> > > > Anyway, as a work-around, you may force configure detection, defining
> > > >    export ac_cv_func_strtod=yes
> > > > before running ./configure. You may also have to force
> > > >    export tcl_cv_strtod_buggy=1
> > > > so that Tcl will define its own fixstrtod() symbol, which will call
> > > > uclibc's strtod(). Works fine in our nightly built process, compiling
> > > > Tcl for arm-linux/uclibc.
> > > > ----------------------------------------
> > > >
> > > > TCL compiles fine after this but I wanted to make sure that a) this
> > > > error was not a sign that I did something wrong earlier on, and b)
> > > > Using this work around will not cause any other problems when I get to
> > > > the later chapters.
> > > >
> > > > Thanks for your time!
> > > > ...aaron
> --
> http://linuxfromscratch.org/mailman/listinfo/hlfs-dev
> FAQ: http://www.linuxfromscratch.org/faq/
> Unsubscribe: See the above information page
>



More information about the hlfs-dev mailing list