#13929 closed defect (fixed)
py25-tkinter links wrong tcl, tk libraries
Reported by: | wiml@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | mww@…, skymoo (Adam Mercer) | |
Port: |
Description
Installing py25-tkinter compiles against the MacPorts headers for tcl/tk 8.5, but links the final .so against the system copies:
wiml@slowpoke-9A581% otool -L /opt/local/lib/python2.5/site-packages/_tkinter.so /opt/local/lib/python2.5/site-packages/_tkinter.so: /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl (compatibility version 8.4.0, current version 8.4.0) /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk (compatibility version 8.4.0, current version 8.4.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
As a result, the Tkinter module fails with a version mismatch when you use it:
>>> t = Tkinter.Tk() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/local/lib/python2.5/lib-tk/Tkinter.py", line 1638, in __init__ self._loadtk() File "/opt/local/lib/python2.5/lib-tk/Tkinter.py", line 1658, in _loadtk % (_tkinter.TK_VERSION, tk_version) RuntimeError: tk.h version (8.5) doesn't match libtk.a version (8.4)
Using DYLD_PRINT_LIBRARIES verifies that it's getting Python modules from /opt/local, but is loading Tcl/Tk from the system frameworks (and not loading ports' versions).
This is on Leopard, 10.5.1/9B18, with a fresh MacPorts install (just installed it and fired off 'install py25-matplotlib' today); this partition hasn't had MacPorts on it before. Version is "MacPorts 1.600", selfupdate says it's all up-to-date.
Change History (4)
comment:1 Changed 17 years ago by gui-dos (Guido Soranzio)
Cc: | mww@… added |
---|---|
Milestone: | → Port Bugs |
comment:2 Changed 17 years ago by skymoo (Adam Mercer)
Cc: | ram@… added |
---|
patch applied to py-tkinter in r33349
comment:3 Changed 17 years ago by gui-dos (Guido Soranzio)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in r33426
Note: See
TracTickets for help on using
tickets.
Changing in the Portfile
into
solves it.