From: SourceForge.net <no...@so...> - 2007-04-18 02:20:14
|
Bugs item #1639318, was opened at 2007-01-19 00:44 Message generated for change (Comment added) made by sf-robot You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=1639318&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 99. Other Group: current: 8.4.14 >Status: Closed Resolution: Invalid Priority: 8 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Don Porter (dgp) Summary: tk 8.4.14 - error in TCLLIBPATH Initial Comment: I am using Tcl-Tk 8.4.14 and Tix 8.4.2. I call "wish" with a program which requires the package Tix. I set TCLLIBPATH so that "wish" can find Tix. If I put a relative path to Tix in TCLLIBPATH and execute "wish" in the correct directory everything is ok. But if I put an abolute path to Tix in TCLLIBPATH, "wish" cannot find Tix except if TCLLIBPATH ends with a "/". setenv TCLLIBPATH relative/path/to/Tix -> ok setenv TCLLIBPATH /absolute/path/to/Tix -> cannot find Tix setenv TCLLIBPATH /absolute/path/to/Tix/ -> ok Since usually variable does not end with "/", it took me quite a long time before I find a solution. It would be good to correct the code so that TCLLIBPATH can end without "/". Marie Vidal mar...@in... ---------------------------------------------------------------------- >Comment By: SourceForge Robot (sf-robot) Date: 2007-04-17 19:20 Message: Logged In: YES user_id=1312539 Originator: NO This Tracker item was closed automatically by the system. It was previously set to a Pending status, and the original submitter did not respond within 14 days (the time period specified by the administrator of this Tracker). ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2007-01-31 12:18 Message: Logged In: YES user_id=80530 Originator: NO Not making sense to me. If /users/mvidal/Bou/tcl-tk/bin.sun5/pkgIndex.tcl is the pkgIndex.tcl file for Tix, then where have you put the pkgIndex.tcl file for Tk? Either you're not accurately describing your directory structure, or you've chosen one that doesn't match the layout expectations of [tclPkgUnknown] very well. The normal installation pattern is that there is some directory in which you will install your packages. You can name this for your architecture if you like: /path/to/pkgs-for-sun5/ This directory is the one that should be the value of TCLLIBPATH. Trailing "/" or not should not matter at all. Under that directory there will be a child directory for each (version of each) package: /path/to/pkgs-for-sun5/tk8.4.14/ /path/to/pkgs-for-sun5/tix8.4.2/ And each of those directories should hold a pkgIndex.tcl file suitable for that (version of that) package (on that architecture). Your first followup comment showed the pkgIndex.tcl file for the Windows architecture getting found during a run on a non-Windows system, indicating your directory structure is not keeping the installs for different architectures separate enough to keep [tclPkgUnknown] in only one of them. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-01-31 04:11 Message: Logged In: NO We are developping a software which uses Tcl, Tk and Tix. To have a uniform version of Tcl-Tk-Tix, we distribute it with our software. So I am trying to install on a machine, Tcl-Tk-Tix for several architectures. The libraries are in the folders .../tcl-tk/lib-tcl, .../tcl-tk/lib-tk, .../tcl-tk/lib-tix. The executables and dynamic libraries are in .../tcl-tk/bin.$TARGET_ARCH. In each folder .../tcl-tk/bin.$TARGET_ARCH, there is a file "pkgIndex.tcl". (Note: there is no folder .../tcl-tk/bin) I set TCLLIBPATH so that "wish" can find the "pkgIndex.tcl" corresponding to the architecture of the machine on which I am executing "wish". For exemple on sun5: setenv TCLLIBPATH "/users/mvidal/Bou/tcl-tk/bin.sun5" /users/mvidal/Bou/tcl-tk/bin.sun5/pkgIndex.tcl: ----------------------------------------------- if {[catch {package require Tcl 8.4}]} return package ifneeded Tix 8.4.2 \ [list load [file join $dir libTix8.4.2.so] Tix] It seems to me that "wish" cannot find .../tcl-tk/bin.sun5/pkgIndex.tcl. The first "pkgIndex.tcl" that it can find is .../tcl-tk/bin.win32/pkgIndex.tcl. I noticed that it is not always the same pkgIndex.tcl which is found first. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2007-01-30 08:10 Message: Logged In: YES user_id=80530 Originator: NO Please note also that since you have set the values of TCL_LIBRARY and TK_LIBRARY, you have instructed Tcl and Tk to use the script libraries you have there, and not the installed ones. It is likely that any bug you are seeing is in those replacement script libraries and not in the installed Tcl/Tk at all. TCL_LIBRARY and TK_LIBRARY should *not* be routinely defined. They are meant as "last-resort" tools for working around broken installs, or for other unusual situations. If your Tcl/Tk install is not broken, or is in your power to fix, then do not set these variables. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2007-01-30 08:06 Message: Logged In: YES user_id=80530 Originator: NO Please post the contents of Tix's pkgIndex.tcl file. This is most likely found at /users/mvidal/Bou/bin/pkgIndex.tcl ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-01-30 00:46 Message: Logged In: NO > setenv TCL_BIN_DIR "/users/mvidal/Bou/tcl-tk/bin.sun5" > setenv TK_BIN_DIR "/users/mvidal/Bou/tcl-tk/bin.sun5" > setenv TIX_BIN_DIR "/users/mvidal/Bou/tcl-tk/bin.sun5" > > setenv TCL_SRC_DIR "/users/mvidal/Bou/tcl-tk" > setenv TK_SRC_DIR "/users/mvidal/Bou/tcl-tk" > setenv TIX_SRC_DIR "/users/mvidal/Bou/tcl-tk" > > setenv TCL_LIBRARY "$TCL_SRC_DIR/lib-tcl" > setenv TK_LIBRARY "$TK_SRC_DIR/lib-tk" > setenv TIX_LIBRARY "$TIX_SRC_DIR/lib-tix" > > setenv LD_LIBRARY_PATH "$TIX_BIN_DIR":"$TCL_BIN_DIR":"$TK_BIN_DIR":"$LD_LIBRARY_PATH" > setenv PATH "$TIX_BIN_DIR":"$TCL_BIN_DIR":"$TK_BIN_DIR":"$PATH" > setenv TCLLIBPATH "$TIX_BIN_DIR" > > $TK_BIN_DIR/wish basic.test auto_path:/users/mvidal/Bou/tcl-tk/bin.sun5 /users/mvidal/Bou/tcl-tk/lib-tcl /users/mvidal/Bou/tcl-tk /users/mvidal/Bou/tcl-tk/lib /noprefix/lib /users/mvidal/Bou/tcl-tk/lib-tk Error in startup script: couldn't load file "/users/mvidal/Bou/bin/tix84.dll": ld.so.1: wish: fatal: /users/mvidal/Bou/bin/tix84.dll: open failed: No such file or directory while executing "load /users/mvidal/Bou/bin/tix84.dll Tix" ("package ifneeded" script) invoked from within "package require Tix" (file "basic.test" line 15) > setenv TCLLIBPATH "$TIX_BIN_DIR/" > > $TK_BIN_DIR/wish basic.test auto_path:/users/mvidal/Bou/tcl-tk/bin.sun5/ /users/mvidal/Bou/tcl-tk/lib-tcl /users/mvidal/Bou/tcl-tk /users/mvidal/Bou/tcl-tk/lib /noprefix/lib /users/mvidal/Bou/tcl-tk/lib-tk basic.test: Total 1 Passed 1 Skipped 0 Failed 0 Marie ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2007-01-29 09:39 Message: Logged In: YES user_id=80530 Originator: NO This doesn't add up. For the case that is failing, please report the value of $::auto_path ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=1639318&group_id=12997 |