[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: Chapter 5.8 tcl error - multiple definition of 'fixstrtod' Aaron Miller Sun Jun 18 19:53:49 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.

On 6/18/06, Robert Connolly <[EMAIL PROTECTED]> 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.


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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page