From: SourceForge.net <no...@so...> - 2005-04-27 02:30:53
|
Bugs item #1171762, was opened at 2005-03-28 19:08 Message generated for change (Comment added) made by juhp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=1171762&group_id=12997 Category: 74. Application Embedding Group: current: 8.4.9 Status: Open Resolution: Works For Me Priority: 5 Submitted By: MATSUURA Takanori (t-matsuu) Assigned to: Don Porter (dgp) Summary: prepare variable like TCL_PACKAGE_PATH in tcl. Initial Comment: I don't know whether this is the problem of Fedora Core, tk, or blt. On Fedora Core and Red Hat Enterprise and its clone distributions, tk is made as make TK_LIBRARY=/usr/share/tk8.4.9 As a result, pkgIndex.tcl is installed to /usr/lib/tk8.4.9/ and other stuff installed to /usr/share/tk8.4.9/. And then, build BLT from source, bltwish cannot find tk.tcl. So I request to add a mechanism like TCL_PACKAGE_PATH in tcl. ---------------------------------------------------------------------- Comment By: Jens-Ulrik Petersen (juhp) Date: 2005-04-27 11:30 Message: Logged In: YES user_id=139853 Yes, wish works fine on x86_64. :) Not completely sure why, TK_LIBRARY is embedded in there somewhere?? I believe Matsuura San is aware of the "modern" way of loading from tclsh or wish, but likes bltwish for some reason... :) (Fwiw the blt package in Fedora Extras doesn't have bltwish.) ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-04-26 00:58 Message: Logged In: YES user_id=80530 while we're sorting out these details, the original bug reporter might make use of a workaround. Rather than use the "bltwish" program at all, simply use the "tclsh" program, and let the Tk and Blt packages come into the program as the [package require Tk] and [package require Blt] commands are executed. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-04-26 00:35 Message: Logged In: YES user_id=80530 thanks for the followup, but several questions are not answered. Does the "wish" program work? If so, can you explain how it avoids the "can't find a usable tk.tcl" error? ---------------------------------------------------------------------- Comment By: Jens-Ulrik Petersen (juhp) Date: 2005-04-25 11:40 Message: Logged In: YES user_id=139853 > I found a tk-8.4.9-3.src.rpm file "on the web" and though I'm no > RPM expert, the spec file included sure looks like it's set up to set > TK_LIBRARY to <datadir>/tk8.4 . Correct. :) Let me try to explain the problem better from the multilib point-of-view. When I configure upstream tk on x86_64 Fedora with our standard paths: ./configure --prefix=/usr --libdir=/usr/lib64 then libtk*, tkConfig.sh, and tk8.4/pkgIndex.tcl get installed correctly under /usr/lib64, however the .tcl library files get installed under /usr/lib/tk8.4 and hence are not found. This should really be installed under /usr/share/tk8.4 since they are not architecture dependent. So this is why I set TK_LIBRARY to /usr/share/tk8.4 rather than /usr/lib64/tk8.4, but this breaks tcl/tk packages which assume effectively that pkgIndex.tcl and *.tcl live in the same directory iirc. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-04-23 03:28 Message: Logged In: YES user_id=80530 another detail that might help... when a program reports the "can't find a usable tk.tcl" error, it normally reports a list of directories where it looked. Can the original reporter report that information as well, please? ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-04-23 02:51 Message: Logged In: YES user_id=80530 hmmm... key phrase here might be "build BLT from source". Can the original reporter please reveal what version of BLT that was? Pointer to a tarball if possible? ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-04-23 02:42 Message: Logged In: YES user_id=80530 I found a tk-8.4.9-3.src.rpm file "on the web" and though I'm no RPM expert, the spec file included sure looks like it's set up to set TK_LIBRARY to <datadir>/tk8.4 . Is the original report in error? Am I looking at the wrong RPM? Can you point me to the source RPM that's at issue, please? ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-04-23 01:52 Message: Logged In: YES user_id=80530 The location of the pkgIndex.tcl file and the location of the tk.tcl initialization script don't necessarily have anything to do with each other, so I don't really follow the last comment. The question is why Fedora Core has chosen to install tk.tcl and other parts of Tk's script library in a different place from where Tk expects to find it, isn't it? Does the "wish" program exhibit similar problems, or is this just an issue for programs like bltwish that embed Tk? hmmm.. reading the original report more carefully, I see it refers to directories named "tk8.4.9". Standard Tk will install the script library into a directory named "tk8.4" and look in directories also with that name. Is that the root of the problem? If so, I'd expect "wish" to be just as broken as "bltwish", unless it's received other tweaking as well. ---------------------------------------------------------------------- Comment By: Jens-Ulrik Petersen (juhp) Date: 2005-04-04 16:56 Message: Logged In: YES user_id=139853 Don, do you have a better way of handling "multilib" libraries, since this is really the root of this issue. Multilib is used on some 64bit archs (eg x86_64 in particular) to allow both 32bit and 64bit programs to be able to run. So eg on x86_64 i386 (ia32) libs are in /usr/lib whereas 64bit libs live in /usr/lib64: for this reason pkgIndex.tcl is currently installed under $libdir and not $datadir in Fedora Core since it points to the binary library. If tcl/tk could provide better support for this situation it would be much appreciated. ---------------------------------------------------------------------- Comment By: MATSUURA Takanori (t-matsuu) Date: 2005-03-30 09:55 Message: Logged In: YES user_id=17586 Thanks dgp. I tested your advice and verified it works fine. I opened the bugzilla at Red Hat as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=144455 ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-03-29 23:58 Message: Logged In: YES user_id=80530 Set the variable TK_LIBRARY at runtime to /usr/share/tk8.4.9 and tk.tcl will be found. Then complain to RedHat about delivering you a broken install, that you're required to work around with environment variables set a runtime. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=1171762&group_id=12997 |