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

Re: Chapter 5.8 tcl error - multiple definition of 'fixstrtod' Aaron Miller Sun Jun 18 14:42:48 2006

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!

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!

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