LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1580|回复: 3

[求助]编译TCL 出错

[复制链接]
发表于 2007-6-1 14:51:46 | 显示全部楼层 |阅读模式
我的宿主系统是 FC6。
环境变量如下:
lfs:~/lfs/sources/tcl8.4.13/unix$ export
declare -x HOME="/home/lfs"
declare -x LC_ALL="OSIX"
declare -x LFS="/home/lfs/lfs"
declare -x OLDPWD="/home/lfs/lfs/sources/tcl8.4.13"
declare -x PATH="/tools/bin:/bin:/usr/bin"
declare -x PS1="\\u:\\w\\\$ "
declare -x PWD="/home/lfs/lfs/sources/tcl8.4.13/unix"
declare -x SHLVL="1"
declare -x TERM="xterm"

按照 Linux From Scratch - 版本 6.2 上面的步骤,
完成了
Binutils-2.16.1 - 第一遍
GCC-4.0.3 - 第一遍
Linux-Libc-Headers-2.6.12.0
Glibc-2.3.6
调整工具链

cc dummy.c
readelf -l a.out | grep ': /tools'
的结果已经是 [Requesting program interpreter: /tools/lib/ld-linux.so.2]
感觉上面的步骤都是对的。
编译 Tcl-8.4.13 报错
lfs:~/lfs/sources/tcl8.4.13/unix$ make
rm -f libtcl8.4.so
gcc -pipe -shared -o libtcl8.4.so regcomp.o regexec.o regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.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 tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o tclPkg.o tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o tclThread.o tclThreadAlloc.o tclThreadJoin.o tclStubInit.o tclStubLib.o tclTimer.o tclUtf.o tclUtil.o tclVar.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o tclUnixInit.o tclUnixThrd.o  tclUnixNotfy.o memcmp.o strstr.o strtoul.o strtod.o fixstrtod.o tclLoadDl.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
/home/lfs/lfs/tools/bin/../lib/gcc/i686-pc-linux-gnu/4.0.3/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `fixstrtod' changed from 902 in strtod.o to 76 in fixstrtod.o
collect2: ld returned 1 exit status
make: *** [libtcl8.4.so] Error 1

求解决办法。多谢了
发表于 2007-6-1 17:45:35 | 显示全部楼层
先看对主系统的要求
看手册
回复 支持 反对

使用道具 举报

发表于 2007-6-2 21:38:29 | 显示全部楼层
印像中在 mailing list 看过,用 FC6 作 host 的话,做 SVN 版成功机会较高
回复 支持 反对

使用道具 举报

发表于 2007-6-4 15:13:29 | 显示全部楼层
你好,我最近也遇到這樣的錯誤,但我檢查過自已的的host system和編繹好的tmpsys,其環境都符合CLFS pure64的要求。
但還是出現一樣的錯誤。

fixstrtod.o: In function `fixstrtod':
fixstrtod.c.text+0x0): multiple definition of `fixstrtod'
strtod.o:strtod.c.text+0x0): first defined here

後來找到這一篇:
http://news.hping.org/comp.lang.tcl.archive/7559.html
是可以正常編繹TCL了,但在expect時又出現另外的問題:

checking if WNOHANG requires _POSIX_SOURCE... configure: error: Expect can't be cross compiled

這一點我就覺得很納悶了,因為我已經是在tmpsys的環境下編繹,不知道該如何解決,希望有經驗的朋友指點迷津,謝謝
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表