From: K S. <kis...@ya...> - 2011-03-14 01:40:20
|
Hi Kevin, --- On Mon, 14/3/11, Kevin Walzer <kw...@co...> wrote: > Tk is actually a Tcl package, so when you are running with, > you are actually running Tcl, the interpreter. > I understand that. I don't really understand how the Apple framework works. In the case of other Unix (and also when I run the X11 version), I expect that when I run wish, then libtcl8.5.dylib and libtk8.5.dylib will be loaded. My question with the Aqua version of Tk is, how does it find the libtcl.dylib? From what I can tell of the error message, it found some Tcl that is built without CoreFoundation support. Having said this, I took a look at the configure for Tcl in the unix directory. There is also a --enable-corefoundation flag here, and the default is supposed to be on also, so it looks like my "X11" build of Tcl (it is not really X11 as it does not use X11) should have CoreFoundation support also... > How has your user installed Tcl/Tk? How are you > distributing the packages? > The tcl/tk is distributed as a tarball, and the user install this as in ohter Unix systems (i.e. untar the tarball and run a script to set the environment variables to localise things). I should add that when the user reported the problem, I downloaded the tarball and installed that in the same way, and that still work (i.e. I wasn't using the version I built). Of course, there may still be some environment setting that is different. I should also say I build every with the --prefix set to my own directory (so that it does not go into /usr/local), so this directory has: Applications Library bin include lib where the frameworks are in Library/Frameworks, and the (X11) libtk libtcl are in lib etc. This is then packed into a tarball. When the localisation script is run, then scripts for running our system is set. Here is the one for running Aqua Tcl/Tk (this is in the version I downloaded): #! /bin/sh ECLIPSEDIR="${ECLIPSEDIR:-/Users/kish/Tests/Eclipse6.0_168}" DYLD_LIBRARY_PATH="$ECLIPSEDIR/lib/x86_64_macosx:/Users/kish/Tests/Eclipse6.0_168/tcltk/x86_64_macosx/lib:$DYLD_LIBRARY_PATH" DYLD_FRAMEWORK_PATH="/Users/kish/Tests/Eclipse6.0_168/tcltk/Library/Frameworks:$DYLD_FRAMEWORK_PATH" TCL_LIBRARY="${TCL_LIBRARY:-/Users/kish/Tests/Eclipse6.0_168/tcltk/x86_64_macosx/lib/tcl8.5}" TK_LIBRARY="${TK_LIBRARY:-/Users/kish/Tests/Eclipse6.0_168/tcltk/x86_64_macosx/lib/tk8.5}" DAVINCIHOME="${DAVINCIHOME:-$ECLIPSEDIR/daVinci/x86_64_macosx}" JRE_HOME="${JRE_HOME:-/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home}" export ECLIPSEDIR TCL_LIBRARY TK_LIBRARY DYLD_FRAMEWORK_PATH DYLD_LIBRARY_PATH DAVINCIHOME JRE_HOME exec "/Users/kish/Tests/Eclipse6.0_168/tcltk/x86_64_macosx/bin/wish8.5" "/Users/kish/Tests/Eclipse6.0_168/lib_tcl/tkeclipse.tcl" -- "$@" The Tcl/Tk tarball was installed in /Users/kish/Tests/Eclipse6.0_168/tcltk/x86_64_macosx Note that in the above, DYLD_LIBRARY_PATH is not set to point to /Users/kish/Tests/Eclipse6.0_168/tcltk/x86_64_macosx/lib, which is where the X11 libtcl libtk are, so they should not be found. Cheers, Kish > -- Kevin Walzer > Code by Kevin > http://www.codebykevin.com > |