Ticket #16111 (closed defect: fixed)
python25-2.5.2 builds differing dylib and framework libraries
| Reported by: | blb@… | Owned by: | mww@… |
|---|---|---|---|
| Priority: | High | Milestone: | Port Bugs |
| Component: | ports | Version: | 1.7.0 |
| Keywords: | python24 python30 framework | Cc: | raimue@…, ram@…, macsforever2000@…, myschizobuddy@…, andrea.bedini@… |
| Port: | python25 |
Description
With the new framework build for python25, it installs both a ${prefix}/Library/Frameworks/Python.framework/Versions/2.5/Python and a ${prefix}/lib/libpython2.5.dylib. It turns out these two are incompatible with one another.
For example, if you install a module which includes a compiled component (eg, subversion-python25bindings has svn.fs, which is in _fs.so) and links against the Python.framework/.../Python, and something else compiled against /opt/local/lib/libpython2.5.dyllib (eg, ajp-wsgi), things will not go well. I see the error
Fatal Python error: Interpreter not initialized (version mismatch?)
when using ajp-wsgi to run Trac (which uses the afore-mentioned subversion-python25bindings).
I believe the proper solution is to build python25 like Apple builds python on the OS, namely, by simply symlinking what's in ${prefix}/lib to the Python.framework/.../Python file. Will attach a tarball which includes a Portfile diff and an updated files/patch-Makefile.pre.in.diff which accomplishes this. FYI, revision is 7 since I bumped it to 6 for the update in ticket #9831.

