hlfs 5.8 multiple definition of `fixstrtod' when compiling tcl-8.4.12

Aaron Miller armantic101 at gmail.com
Wed Jun 14 19:06:49 PDT 2006

Hello, Thanks for taking the time to read this.

I am stuck on Chapter 5.8 in  Hardened Linux From Scratch - Version SVN-20060510
When I try to compile tcl-8.4.12 I get the following error:

fixstrtod.o: In function `fixstrtod':
fixstrtod.c:(.text+0x0): multiple definition of `fixstrtod'
strtod.o:strtod.c:(.text+0x0): first defined here
Warning: size of symbol `fixstrtod' changed from 669 in strtod.o to 77
in fixstrtod.o
collect2: ld returned 1 exit status
make: *** [libtcl8.4.so] Error 1

The only post I found that had a similar error was this one:
But it looks like it was as a result of using env variable in the spec
file maybe?

fgrep 'linker /tools/lib' /tools/lib/gcc/i686-tools-linux-gnu/3.4.5/specs

%{!static:--eh-frame-hdr} -m elf_i386 %{shared:-shared}   %{!shared:
 %{!ibcs:       %{!static:         %{rdynamic:-export-dynamic}
%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}}

echo 'main(){}' | ${target}-gcc -x c -
readelf -l a.out | grep ': /tools'

      [Requesting program interpreter: /tools/lib/ld-linux.so.2]

Also, please note the following:

ls -l /
tools -> /mnt/hlfs/tools

ls -l /mnt/hlfs
tools -> /mnt/hlfs/root/

So my "tools" directory will actually be /root when I am finished. I
don't see how this
could relate to the error but though I should include it anyways. I
also tried to see
if I might have made a mistake somewhere, but I got the same error the second
time though (I copied and pasted all the commands to be sure I got it right).

Sorry if this has been addressed before, I am still kind of new to Linux so my
searching skills are still not up to par. What I found on google
indicated that there is
a known problem while cross compiling tcl and gave some possible
fixes, but I don't
know a lot about Linux yet and wanted to see if this is being caused by deeper

Thanks for your time!

More information about the lfs-support mailing list