Skip to content

OS X framework builds do not create ABI-suffixed libpython3.x #58405

Closed

Description

@shibingli
mannequin
BPO 14197
Nosy @birkenfeld, @ned-deily
Files
  • py32_uWSGI.txt
  • issue14197.patch
  • 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 = <Date 2012-07-24.10:50:26.517>
    created_at = <Date 2012-03-05.04:57:08.299>
    labels = ['build']
    title = 'OS X framework builds do not create ABI-suffixed libpython3.x'
    updated_at = <Date 2012-07-24.10:50:26.484>
    user = 'https://bugs.python.org/shibingli'

    bugs.python.org fields:

    activity = <Date 2012-07-24.10:50:26.484>
    actor = 'ned.deily'
    assignee = 'ned.deily'
    closed = True
    closed_date = <Date 2012-07-24.10:50:26.517>
    closer = 'ned.deily'
    components = ['Build']
    creation = <Date 2012-03-05.04:57:08.299>
    creator = 'shibingli'
    dependencies = []
    files = ['24733', '26496']
    hgrepos = []
    issue_num = 14197
    keywords = ['patch']
    message_count = 9.0
    messages = ['154921', '154923', '154925', '154926', '154930', '166270', '166271', '166273', '166274']
    nosy_count = 4.0
    nosy_names = ['georg.brandl', 'ned.deily', 'python-dev', 'shibingli']
    pr_nums = []
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue14197'
    versions = ['Python 3.2', 'Python 3.3']

    Activity

    1. shibingli commented on Mar 5, 2012

      shibinglimannequin
      MannequinAuthor

      Artificial libpython3.2.a soft links to libpython3.2m.a

    2. ned-deily commented on Mar 5, 2012

      @ned-deily
      Member

      Sorry, can you explain better what problem you are seeing including specific error messages?

    3. shibingli commented on Mar 5, 2012

      shibinglimannequin
      MannequinAuthor

      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.

    4. shibingli commented on Mar 5, 2012

      shibinglimannequin
      MannequinAuthor

      Has been revised to permit BUG Description

      在 2012-3-5,下午1:18, Ned Deily 写道:

      Ned Deily <nad@acm.org> added the comment:

      Sorry, can you explain better what problem you are seeing including specific error messages?

      ----------
      nosy: +ned.deily


      Python tracker <report@bugs.python.org>
      <http://bugs.python.org/issue14197\>


    5. ned-deily commented on Mar 5, 2012

      @ned-deily
      Member

      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.

    6. changed the title [-]MacOS10.7 compiled uWSGI the issue.[/-] [+]OS X framework builds do not create ABI-suffixed libpython3.x[/+] on Mar 5, 2012
    7. self-assigned this
      on Mar 5, 2012
    8. ned-deily commented on Jul 24, 2012

      @ned-deily
      Member

      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

    9. ned-deily commented on Jul 24, 2012

      @ned-deily
      Member

      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.

    10. python-dev commented on Jul 24, 2012

      python-devmannequin
      Mannequin

      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

    11. ned-deily commented on Jul 24, 2012

      @ned-deily
      Member

      Fix applied for release in 3.2.4 and (with release manager approval) for 3.3.0b2.

    12. added
      buildThe build process and cross-build
      and removed on Jul 24, 2012
    13. removed
      buildThe build process and cross-build
      on Jul 24, 2012
    14. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    Labels

    buildThe build process and cross-build

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions