I try to cross-compile Tcl for a Linux/Mips/uclibc based device (openwrt).
Build Host is "i686-pc-linux-gnu"
Works fine when using --disable-shared, but just does not work when using
the default.
I've been using the following:
./configure --build=i686-pc-linux-gnu --host=mipsel-linux-uclibc --target=mipsel-linux-uclibc
What I get is this:
mipsel-linux-uclibc-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 -lm -Wl,-soname,libtcl8.4.so.0
fixstrtod.o: In function ixstrtod':
fixstrtod.c:(.text+0x0): multiple definition of ixstrtod'
strtod.o:strtod.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [libtcl8.4.so] Fehler 1
Any hints?
Sven
--
"and on the third day he rebooted into Linux-1.3.84"
(Linus Torvalds, Easter Kernel Release 1996)
/me is giggls@ircnet, http://sven.gegg.us/ on the Web
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
Evolane - http://www.evolane.com/
Sven Geggus a écrit :