Sorry, I just realized that HLFS has it's own thread. I apologize for my ignorance.
I went ahead and used the fix and tcl compiled without errors. Hopefully I will not see any adverse effects down the road. regards, ...aaron On 6/15/06, Aaron Miller <[EMAIL PROTECTED]> wrote:
On 6/14/06, Aaron Miller <[EMAIL PROTECTED]> wrote: > 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 > /mnt/hlfs/root/bin/../lib/gcc/i686-tools-linux-gnu/3.4.5/../../../../i686-tools-linux-gnu/bin/ld: > 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: > http://linuxfromscratch.org/pipermail/lfs-support/2003-October/019905.html > 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}} > %{static:-static}}} > > 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 > ... > root > 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 > problem. > > Thanks for your time! > ...aaron > Hello, sorry to reply to my own message, but I just wanted to say that I tried it again without the links pointing to the "$HLFS/root" partition, so everything is by the book and and I still get the same error with tcl. I found this information on google in regards to cross compiling tcl. Will following these instructions have an adverse effect on my hlfs system? ------------------------ comp.lang.tcl archive Re: multiple definition of `fixstrtod' while cross-compiling tcl From: Eric Hassold <[EMAIL PROTECTED]> Date: Mon Dec 05 2005 - 22:33:38 CET 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. Eric Hassold ------------------------ Also, I had a question about starting with a clean environment. Does it clear out all environment variables or just the user defined ones? I noticed if I do the following in my supposedly clean hlfs environment: $H{tab}{tab} I get a list of already defined variables that begin with 'H' $HISTCMD $HISTFILESIZE $HLFS $HOSTNAME $HISTFILE $HISTSIZE $HOME $HOSTTYPE Do I not have a clean environment? If I run 'exec env -i' I get this when I try the same thing: $HISTCMD $HISTFILE $HISTFILESIZE $HISTSIZE $HOME $HOSTNAME $HOSTTYPE Is there an environment variable leaking into my tcl? If so, how can I make sure they are all cleared out? Thanks again for your time! ...aaron
-- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
