[MacPorts] #50821: python24, python25, python26, python27, python31, python32, python33, python34, python35: Fix building for strange architecture combinations

MacPorts noreply at macports.org
Thu Dec 23 15:53:04 UTC 2021


#50821: python24, python25, python26, python27, python31, python32, python33,
python34, python35: Fix building for strange architecture combinations
-------------------------------------------------+-------------------------
  Reporter:  land.apfel@…                        |      Owner:
                                                 |  jyrkiwahlstedt
      Type:  defect                              |     Status:  new
  Priority:  Normal                              |  Milestone:
 Component:  ports                               |    Version:  2.3.4
Resolution:                                      |   Keywords:
      Port:  python24, python25, python26,       |
  python27, python31, python32, python33,        |
  python34, python35                             |
-------------------------------------------------+-------------------------

Comment (by barracuda156):

 Replying to [comment:6 ryandesign]:
 > Things only get fixed in MacPorts when someone who cares about an issue
 fixes it. Few people care about PowerPC systems these days. Since you do,
 you could try either of the two possible fixes suggested in this ticket
 (patchfile or muniversal portgroup). If you find one that works, you can
 report it here, or better yet, submit a pull request.

 Thank you! I [wrongly] assumed that since the issue remained open,
 proposed solution didn't work.

 I made the patch for python38 and Python built, however I got another
 error here:


 {{{
 cd Mac && /usr/bin/make pythonw
 make[1]: Entering directory
 `/opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/Python-3.8.12/Mac'
 /usr/bin/gcc-4.2 -arch ppc -arch ppc64 -L/opt/local/lib
 -Wl,-headerpad_max_install_names -arch ppc -arch ppc64
 -DPYTHONFRAMEWORK='"Python"' -o pythonw \
                 ./Tools/pythonw.c -I.. -I./../Include \
                 ../Python.framework/Versions/3.8/Python
 make[1]: Leaving directory
 `/opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/Python-3.8.12/Mac'
 Creating directory
 /opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin
 if test "Python.framework" = "no-framework" ; then \
                 /usr/bin/install -c python.exe
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8;
 \
         else \
                 /usr/bin/install -c -s Mac/pythonw
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8;
 \
         fi
 if test "3.8" != "3.8"; then \
                 if test -f
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
 -o -h
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8;
 \
                 then rm -f
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8;
 \
                 fi; \
                 (cd
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin;
 ln python3.8 python3.8); \
         fi
 if test -f Python.framework/Versions/3.8/Python && test "Python.framework"
 = "no-framework" ; then \
                 if test -n "" ; then \
                         /usr/bin/install -c -m 755
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin;
 \
                 else \
                         /usr/bin/install -c -m 755
 Python.framework/Versions/3.8/Python
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/Python.framework/Versions/3.8/Python;
 \
                         if test Python.framework/Versions/3.8/Python !=
 Python.framework/Versions/3.8/Python; then \
                                 (cd
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib;
 ln -sf Python.framework/Versions/3.8/Python
 Python.framework/Versions/3.8/Python) \
                         fi \
                 fi; \
                 if test -n ""; then \
                         /usr/bin/install -c -m 755
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/;
 \
                 fi; \
         else    true; \
         fi
 if test "x-extract ppc" != "x" ; then \
                 rm -f
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/binpython3.8-32;
 \
                 lipo -extract ppc \
                         -output
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8-32
 \
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8;
 \
         fi
 fatal error: lipo: -extract ppc specified but fat file:
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
 does not contain that architecture
 make: *** [altbininstall] Error 1
 make: Leaving directory
 `/opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/Python-3.8.12'
 Command failed:  cd
 "/opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/Python-3.8.12"
 && /usr/bin/make -w frameworkinstall maninstall
 DESTDIR=/opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot
 Exit code: 2
 Error: Failed to destroot python38: command execution failed
 Error: See
 /opt/local/var/macports/logs/_opt_PPCLeopardPorts_lang_python38/python38/main.log
 for details.
 Error: Follow https://guide.macports.org/#project.tickets if you believe
 there
 is a bug.
 Error: Processing of port python38 failed

 }}}

 I have checked the binary, and both architectures are present in fact:


 {{{
 36-225:~ svacchanda$ file
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8:
 Mach-O universal binary with 2 architectures
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
 (for architecture ppc7400):    Mach-O executable ppc
 /opt/local/var/macports/build/_opt_PPCLeopardPorts_lang_python38/python38/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
 (for architecture ppc64):      Mach-O 64-bit executable ppc64

 }}}

 Any idea what should I fix now?

-- 
Ticket URL: <https://trac.macports.org/ticket/50821#comment:7>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list