You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
OS X framework builds do not create ABI-suffixed libpython3.x #58405
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/ned-deily'closed_at=<Date2012-07-24.10:50:26.517>created_at=<Date2012-03-05.04:57:08.299>labels= ['build']
title='OS X framework builds do not create ABI-suffixed libpython3.x'updated_at=<Date2012-07-24.10:50:26.484>user='https://bugs.python.org/shibingli'
Sorry, can you explain better what problem you are seeing including specific error messages?
shibingli commented on Mar 5, 2012
shibinglimannequin
MannequinAuthor
More actions
Use the Mac OS 10.7 compiler uWSGI Makefile.Py32 (make-f), will report a compile error. Information in the annex.Artificially will the soft libpython3.2.a / Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config-3.2m under connection to a libpython3.2m.a, the problem-solving.
Thank you for the additional information. It appears the problem is that, for OS X framework builds, the ABI suffix (added in PEP-3149) is not used to create the shared library dylib name in the framework lib directory. For example,
$ cd Library/Frameworks/Python.framework/Versions/3.2
$ ./bin/python3.2-config --libs
-ldl -framework CoreFoundation -lpython3.2m
$ ls -l ./lib
total 8
lrwxr-xr-x 1 root wheel 9 Feb 24 09:44 libpython3.2.dylib@ -> ../Python
drwxrwxr-x 2 root admin 170 Feb 24 08:49 pkgconfig/
drwxrwxr-x 32 root admin 6290 Feb 24 08:49 python3.2/
But in an --enable-shared --with-pydebug build:
$ ./bin/python3.2-config --libs
-ldl -framework CoreFoundation -lpython3.2dm
$ ls -l ./lib
total 6920
-r-xr-xr-x 1 nad pyd 3541320 Mar 4 23:40 libpython3.2dm.dylib*
drwxr-xr-x 2 nad pyd 170 Mar 4 23:40 pkgconfig/
drwxr-xr-x 32 nad pyd 6290 Mar 4 23:40 python3.2/
Looks like target frameworkinstallmaclib in Makefile.pre.in needs to be changed to include SOABI in the name for the lib symlink.
The attached patch ensures that additional SOABI-suffixed symlinks are created in the framework lib and lib/pythonx.x/config-yy directories and fixes pythons.x-config to not return garbage data for the --ldflags option.
Georg, I'd like to apply this for both 3.2.4 and 3.3.0b2. It's a low risk bug fix but does solve a real problem for users wanting to embed Python on OS X. bpo-15353 is also fixed by this.
Activity
shibingli commentedon Mar 5, 2012
Artificial libpython3.2.a soft links to libpython3.2m.a
ned-deily commentedon Mar 5, 2012
Sorry, can you explain better what problem you are seeing including specific error messages?
shibingli commentedon Mar 5, 2012
Use the Mac OS 10.7 compiler uWSGI Makefile.Py32 (make-f), will report a compile error. Information in the annex.Artificially will the soft libpython3.2.a / Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config-3.2m under connection to a libpython3.2m.a, the problem-solving.
shibingli commentedon Mar 5, 2012
Has been revised to permit BUG Description
在 2012-3-5,下午1:18, Ned Deily 写道:
ned-deily commentedon Mar 5, 2012
Thank you for the additional information. It appears the problem is that, for OS X framework builds, the ABI suffix (added in PEP-3149) is not used to create the shared library dylib name in the framework lib directory. For example,
But in an --enable-shared --with-pydebug build:
$ ./bin/python3.2-config --libs -ldl -framework CoreFoundation -lpython3.2dm $ ls -l ./lib total 6920 -r-xr-xr-x 1 nad pyd 3541320 Mar 4 23:40 libpython3.2dm.dylib* drwxr-xr-x 2 nad pyd 170 Mar 4 23:40 pkgconfig/ drwxr-xr-x 32 nad pyd 6290 Mar 4 23:40 python3.2/Looks like target frameworkinstallmaclib in Makefile.pre.in needs to be changed to include SOABI in the name for the lib symlink.
[-]MacOS10.7 compiled uWSGI the issue.[/-][+]OS X framework builds do not create ABI-suffixed libpython3.x[/+]ned-deily commentedon Jul 24, 2012
The attached patch ensures that additional SOABI-suffixed symlinks are created in the framework lib and lib/pythonx.x/config-yy directories and fixes pythons.x-config to not return garbage data for the --ldflags option.
# current
$ ls -l /Library/Frameworks/Python.framework/Versions/3.2/lib
total 8
lrwxr-xr-x 1 root wheel 9 Jul 15 17:40 libpython3.2.dylib@ -> ../Python
drwxrwxr-x 2 root admin 170 Apr 10 11:27 pkgconfig/
drwxrwxr-x 32 root admin 6290 Apr 10 11:27 python3.2/
# with patch
$ ls -l /Library/Frameworks/Python.framework/Versions/3.2/lib
total 16
lrwxr-xr-x 1 root wheel 9 Jul 24 02:43 libpython3.2.dylib@ -> ../Python
lrwxr-xr-x 1 root wheel 9 Jul 24 02:43 libpython3.2m.dylib@ -> ../Python
drwxrwxr-x 2 root admin 170 Jul 24 02:38 pkgconfig/
drwxrwxr-x 34 root admin 6494 Jul 24 02:38 python3.2/
# current
$ ls -l /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config-3.2m/
total 256
-rw-rw-r-- 1 root admin 51118 Apr 10 11:27 Makefile
-rw-rw-r-- 1 root admin 15018 Apr 10 11:27 Setup
-rw-rw-r-- 1 root admin 370 Apr 10 11:27 Setup.config
-rw-rw-r-- 1 root admin 41 Apr 10 11:27 Setup.local
-rw-rw-r-- 1 root admin 2902 Apr 10 11:27 config.c
-rw-rw-r-- 1 root admin 1642 Apr 10 11:27 config.c.in
-rwxrwxr-x 1 root admin 7122 Apr 10 11:27 install-sh*
lrwxr-xr-x 1 root wheel 15 Jul 15 17:40 libpython3.2.a@ -> ../../../Python
lrwxr-xr-x 1 root wheel 15 Jul 15 17:40 libpython3.2.dylib@ -> ../../../Python
-rwxrwxr-x 1 root admin 7460 Apr 10 11:27 makesetup*
-rw-rw-r-- 1 root admin 18776 Apr 10 11:27 python.o
# with patch
$ ls -l /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/config-3.3m/
total 280
-rw-rw-r-- 1 root admin 55198 Jul 24 02:38 Makefile
-rw-rw-r-- 1 root admin 15009 Jul 24 02:38 Setup
-rw-rw-r-- 1 root admin 370 Jul 24 02:38 Setup.config
-rw-rw-r-- 1 root admin 41 Jul 24 02:38 Setup.local
-rw-rw-r-- 1 root admin 2963 Jul 24 02:38 config.c
-rw-rw-r-- 1 root admin 1619 Jul 24 02:38 config.c.in
-rwxrwxr-x 1 root admin 7122 Jul 24 02:38 install-sh*
lrwxr-xr-x 1 root wheel 15 Jul 24 02:43 libpython3.2.a@ -> ../../../Python
lrwxr-xr-x 1 root wheel 15 Jul 24 02:43 libpython3.2.dylib@ -> ../../../Python
lrwxr-xr-x 1 root wheel 15 Jul 24 02:43 libpython3.2m.a@ -> ../../../Python
lrwxr-xr-x 1 root wheel 15 Jul 24 02:43 libpython3.2m.dylib@ -> ../../../Python
-rwxrwxr-x 1 root admin 7460 Jul 24 02:38 makesetup*
-rw-rw-r-- 1 root admin 18896 Jul 24 02:38 python.o
# current
$ python3.2-config --ldflags
-L/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config-3.2m -ldl -framework CoreFoundation -lpython3.2m -framework CoreFoundation Python.framework/Versions/3.2/Python
# with patch
$ python3.2-config --ldflags
-L/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.3/config-3.2m -ldl -framework CoreFoundation -lpython3.2m
ned-deily commentedon Jul 24, 2012
Georg, I'd like to apply this for both 3.2.4 and 3.3.0b2. It's a low risk bug fix but does solve a real problem for users wanting to embed Python on OS X. bpo-15353 is also fixed by this.
python-dev commentedon Jul 24, 2012
New changeset 2d4f290ea71c by Ned Deily in branch '3.2':
Issue bpo-14197: For OS X framework builds, ensure links to the shared
http://hg.python.org/cpython/rev/2d4f290ea71c
New changeset 51ac5f06dd04 by Ned Deily in branch 'default':
Issue bpo-14197: merge
http://hg.python.org/cpython/rev/51ac5f06dd04
ned-deily commentedon Jul 24, 2012
Fix applied for release in 3.2.4 and (with release manager approval) for 3.3.0b2.