librelist archives

« back to archive

Fwd: How to build _tkinter.so

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