Fwd: How to build _tkinter.so
- From:
- Lynn Oliver
- Date:
- 2011-09-08 @ 22:36
I've been chasing a version conflict for several days when trying to use
Pyinstaller-1.5:
tcl: version conflict for package "Tk": have 8.5.10, need exactly 8.5.9.
I started with a clean system (right after erasing the system drive and
installing OS X 10.7.1) and did the following steps:
brew install python
brew install gfortran
brew install pkg-config
easy_install pip
pip install numpy
pip install matplotlib
Finally I downloaded ActiveStateTcl 8.5.10 and installed it with the
package installer.
At this point I have python 2.7.2 and Tcl/Tk 8.5.10 installed in
/Library/Frameworks. OS X 10.7.1 has python 2.7.1 and Tcl/Tk 8.5.9
installed in /System/Library/Frameworks.
When python dynamically links to Tkinter (the wrapper for Tcl/Tk), it
first looks in /Library/Frameworks, where it will find Tcl/Tk 8.5.10. It
will also find _tkinter.so in
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload:
$ otool -L _tkinter.so
_tkinter.so:
/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl (compatibility version
8.5.0, current version 8.5.9)
/Library/Frameworks/Tk.framework/Versions/8.5/Tk (compatibility version
8.5.0, current version 8.5.9)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)
Which I believe is the source of my error message above.
At this point I tried "brew uninstall" python followed by "brew install"
python, hoping that it would build for Tcl/Tk version 8.5.10.
Unfortunately, _tkinter.so was not updated. I think the default is to
build shared, but just in case I tried the uninstall/install again, using
the --enable-shared flag. No change.
Can anyone help with getting _tkinter.so built for Tcl8.5.10?
Thanks...
Lynn