[MacPorts] #62023: python39 @3.9.1 does not build universal on BigSur

MacPorts noreply at macports.org
Sun Jan 10 18:16:03 UTC 2021


#62023: python39 @3.9.1 does not build universal on BigSur
------------------------------+----------------------
 Reporter:  kencu             |      Owner:  jmroot
     Type:  defect            |     Status:  assigned
 Priority:  Normal            |  Milestone:
Component:  ports             |    Version:
 Keywords:  BigSur universal  |       Port:  python39
------------------------------+----------------------
 The lack of a universal python is blocking the installation of a number of
 universal ports on BigSur at present.

 Building python39 as universal arm64/x86_64 fails on BigSur (both Intel
 and arm machines) with this error:

 {{{
 if test "x-extract i386" != "x" ; then \
                 rm -f /opt/local/var/macports/build/_opt_macports-
 ports_lang_python39/python39/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.9/binpython3.9-32;
 \
                 lipo -extract i386 \
                         -output /opt/local/var/macports/build
 /_opt_macports-
 ports_lang_python39/python39/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9-32
 \
                         /opt/local/var/macports/build/_opt_macports-
 ports_lang_python39/python39/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9;
 \
         fi
 fatal error: /Library/Developer/CommandLineTools/usr/bin/lipo: -extract
 i386 specified but fat file: /opt/local/var/macports/build/_opt_macports-
 ports_lang_python39/python39/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9
 does not contain that architecture
 }}}

 that can be overcome quite easily by overriding the default setting for
 LIPO_32BIT_FLAGS in the Makefile, and commenting it out (for a quick fix):
 {{{
 #LIPO_32BIT_FLAGS=-extract i386
 }}}

 and then python39 indeed finishes installing as +universal on BigSur.

 However, there is an error in the installed files:

 {{{
 --->  Cleaning python39
 --->  Removing work directory for python39
 --->  Updating database of binaries
 --->  Scanning binaries for linking errors
 Could not open /opt/local/var/macports/build/_opt_macports-
 ports_lang_python39/python39/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.9/Python:
 Error opening or reading file (referenced from
 /opt/local/Library/Frameworks/Python.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python)
 --->  Found 1 broken file, matching files to ports
 --->  Found 1 broken port, determining rebuild order
 You can always run 'port rev-upgrade' again to fix errors.
 The following ports will be rebuilt: python39 @3.9.1+universal
 }}}

 and it looks like at least one of them has the wrong library reference
 embedded, for some reason:
 {{{
 $ otool -L
 /opt/local/Library/Frameworks/Python.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python
 /opt/local/Library/Frameworks/Python.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python:
 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
 (compatibility version 150.0.0, current version 1770.255.0)
         /opt/local/var/macports/build/_opt_macports-
 ports_lang_python39/python39/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.9/Python
 (compatibility version 3.9.0, current version 3.9.0)
         /opt/local/lib/libintl.8.dylib (compatibility version 10.0.0,
 current version 10.5.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1292.60.1)
 }}}

 not quite sure why that is wrong just now. I will try to fix it manually
 first, and then if that works, perhaps we can sort out why this is
 happening.

-- 
Ticket URL: <https://trac.macports.org/ticket/62023>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list