On Fri, Jun 08, 2007 at 09:40:12AM +0800, Asho Yeh wrote: > Dears. > > My host system is Debian stable 4.0. I followed the instruction of the > CLFS book v1.0.0. All the packages before Ch7 were built fine and I > chose the chroot method. I'll note in passing that this is the first package which uses the native tools you've built. So, possibly there is a problem with what you've cross-compiled. > > The envirnoment setting is as follows: > > TERM=xterm > BUILD64=-m64 I guess this means you are following the pure64 book (you haven't said). I don't follow the details of debian - is it also pure64, or is it multilib ? > PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin > PWD=/build/tcl8.4.12/unix > PS1=\u:\w\$ > SHLVL=1 > HOME=/root > _=/tools/bin/env > OLDPWD=/build/tcl8.4.12 > > However, when built the first test suite - tcl8.4.12, It had an > multiple fixstrtod error. > > " > gcc -pipe -shared -o libtcl8.4.so regcomp.o regexec.o regfree.o > regerror.o tclAl loc.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o > tclClock.o tclCmdAH.o tclCm dIL.o tclCmdMZ.o tclCompCmds.o > tclCompExpr.o tclCompile.o tclDate.o tclEncoding. o tclEnv.o > tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o tclHash.o tc > lHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOGT.o > tclIOSock.o tc lIOUtil.o tclLink.o tclListObj.o tclLiteral.o tclLoad.o > tclMain.o tclNamesp.o tc lNotify.o tclObj.o tclPanic.o tclParse.o > tclParseExpr.o tclPipe.o tclPkg.o tclPo sixStr.o tclPreserve.o > tclProc.o tclRegexp.o tclResolve.o tclResult.o tclScan.o > tclStringObj.o tclThread.o tclThreadAlloc.o tclThreadJoin.o > tclStubInit.o tclStu bLib.o tclTimer.o tclUtf.o tclUtil.o tclVar.o > tclUnixChan.o tclUnixEvent.o tclUn ixFCmd.o tclUnixFile.o > tclUnixPipe.o tclUnixSock.o tclUnixTime.o tclUnixInit.o t clUnixThrd.o > tclUnixNotfy.o memcmp.o strstr.o strtoul.o strtod.o fixstrtod.o tc > lLoadDl.o -ldl -lieee -lm -Wl,-rpath,/tools//lib > fixstrtod.o: In function `fixstrtod': > fixstrtod.c:(.text+0x0): multiple definition of `fixstrtod' > strtod.o:strtod.c:(.text+0x0): first defined here > /tools/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/../../../../x86_64-unknown-linux-g > nu/bin/ld: Warning: size of symbol `fixstrtod' changed from 729 in > strtod.o to 8 5 in fixstrtod.o > collect2: ld returned 1 exit status > make: *** [libtcl8.4.so] Error 1 > " > > I googled a page which mentioned this problem. > http://news.hping.org/comp.lang.tcl.archive/7559.html > > I think my problem is not the same, because I was not cross-compiling at Ch9. > Thanks for reading this message and please give some advice if experienced.
When I googled, most of the results were for hlfs with uclibc. There was one result for regular LFS http://www.mailinglistarchive.com/[EMAIL PROTECTED]/msg24703.html with a similar suggestion - I don't know if that worked, nor why the problem arose. If I was a toolchain expert, I could probably suggest some magic incantations to find out what it is doing, but I'm not :-( At the moment, I suspect that something is not right in what you've done earlier. When you configure tcl, one of the first things it does is test the compiler, from my old logs: checking for gcc... gcc -m64 checking whether the C compiler (gcc -m64 ) works... yes checking whether the C compiler (gcc -m64 ) is a cross-compiler... no Does yours give a different result here ? All I can really suggest is that you try exporting ac_cv_func_strtod=yes before rerunning configure. ĸen -- das eine Mal als Tragödie, das andere Mal als Farce _______________________________________________ Clfs-support mailing list [email protected] http://lists.cross-lfs.org/cgi-bin/mailman/listinfo/clfs-support
