[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