From: Christopher S. M. <morrison@ARL.ARMY.MIL> - 2002-03-20 01:02:36
|
I FOUND IT! Jeesh. I finally figured out what was the problem from my flailing 8.3.2 build/install. To recap, I was basically getting a runtime error from Tcl_Init, Itcl_init, ... all saying that they couldn't find their tcl initialization files (that are in the install directory). The problem didn't have to do with the fact that I was munging the Makefiles to install into a different place. The problem had to do with the existing /usr/lib/libtcl83.dylib that I had laying around getting linked instead of the newly built one (/usr/brlcad/lib/libtcl8.3.a). That problem may seem obvious except for the fact that there was an explicit -Lwhatever -ltcl8.3 on the compile line, yet the library in /usr/lib was still used! I find this quite contrary to what should be happening, and if anyone has any clues, please send them my way. Here is the final compile line for building libtcl and tclsh: . . ar cr libtcl8.3.a 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 tclStubInit.o tclStubLib.o tclTimer.o tclUtf.o tclUtil.o tclVar.o tclMtherr.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o tclUnixInit.o tclUnixThrd.o tclUnixNotfy.o tclLoadNone.o ranlib -c libtcl8.3.a cc -O3 -fno-common -ffast-math -fstrength-reduce -fexpensive-optimizations tclAppInit.o -L/Users/sean/brlcad6/.libtcl8.3.pmac -ltcl8.3 -lc \ -o tclsh /usr/bin/ld: warning unused multiple definitions of symbol _matherr /Users/sean/brlcad6/.libtcl8.3.pmac/libtcl8.3.a(tclMtherr.o) definition of _matherr in section (__TEXT,__text) /usr/lib/libc.dylib(s_matherr.o) unused definition of _matherr Well, the simple solution was to move/remove the tcl dylib in /usr/lib and all was fine (except for that nasty warning shown above from the .a getting created without the multiple define suppression turned on). Well, back to proper coding now.. Cheers! Sean Morrison mor...@ar... On Tue, 12 Mar 2002, Christopher Sean Morrison wrote: > My apologies if this is an answered question (couldn't find it in > archives), but I'm having difficulty getting 8.3.2 to find itself properly > after installation. I have similar problems for everything else > thereafter (tk, itcl, itk, iwidgets). > > The quick fix is to set the corresponding XXXX_LIBRARY environment > variable to the packages find what they need, and all is good. But that > doesn't fix the problem, it quells the symptom. How does > /System/Library/Tcl/8.3 get into that search path and how can I go about > to get that to be based off --prefix's value. > > There is a little oddity of the Makefile getting modified (necessarily on > other platforms) prior to building. The details are included below. Any > help is appreciated. > > As a side note, I have to use 8.3.2 for this release, unfortunately. > Then I'll be upgrading it to newer tcl/tk sources. A short-term fix to > get this version working would be nice, though. > > > Here is the error message: > > bash2.04 sean@dhcp-32-233 ~/brlcad6/.libtcl8.3.pmac % tclsh > application-specific initialization failed: Can't find a usable init.tcl > in the following directories: > /System/Library/Tcl/8.3 /usr/brlcad/lib/tcl8.3 /usr/lib/tcl8.3 > /usr/lib/tcl8.3/library /usr/library /usr/tcl8.3/library /tcl8.3/library > /System/Library/Tcl/8.3 > > > This probably means that Tcl wasn't installed properly. |