[MacPorts] #59466: python27 +universal fails to build universal extension modules in standard library

MacPorts noreply at macports.org
Thu Jan 23 23:26:31 UTC 2020


#59466: python27 +universal fails to build universal extension modules in standard
library
-----------------------+---------------------------------
  Reporter:  rmottola  |      Owner:  jmroot
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:            |   Keywords:  leopard snowleopard
      Port:  python27  |
-----------------------+---------------------------------

Comment (by devernay):

 it seems like the lib-dynload modules are compiled twice, once with the
 arch flags and once without. The second time it is built seems to be
 during the install phase.
 10.6 here, building on i386:
 {{{
 building 'itertools' extension
 /opt/local/bin/clang-mp-3.4 -fno-strict-aliasing -fno-common -dynamic
 -arch x86_64 -arch i386 -pipe -Os -arch x86_64 -arch i386 -DNDEBUG -g
 -fwrapv -O3 -Wall -Wstrict-prototypes
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Mac/Include
 -I. -IInclude -I./Include -I/opt/local/include -I/opt/local/include/db48
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Include
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17
 -c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Modules/itertoolsmodule.c
 -o
 build/temp.macosx-10.6-intel-2.7/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Modules/itertoolsmodule.o
 /opt/local/bin/clang-mp-3.4 -bundle -undefined dynamic_lookup -arch x86_64
 -arch i386 -L/opt/local/lib -Wl,-headerpad_max_install_names
 -L/opt/local/lib/db48 -arch x86_64 -arch i386
 build/temp.macosx-10.6-intel-2.7/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Modules/itertoolsmodule.o
 -L/opt/local/lib -L/opt/local/lib/db48 -o
 build/lib.macosx-10.6-intel-2.7/itertools.so

 ...

 building 'itertools' extension
 /opt/local/bin/clang-mp-3.4 -fno-strict-aliasing -fno-common -dynamic
 -pipe -Os -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Mac/Include
 -I. -IInclude -I./Include -I/opt/local/include -I/opt/local/include/db48
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Include
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17
 -c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Modules/itertoolsmodule.c
 -o
 build/temp.macosx-10.6-i386-2.7/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Modules/itertoolsmodule.o
 /opt/local/bin/clang-mp-3.4 -bundle -undefined dynamic_lookup -arch x86_64
 -arch i386 -L/opt/local/lib -Wl,-headerpad_max_install_names
 -L/opt/local/lib/db48 -arch x86_64 -arch i386
 build/temp.macosx-10.6-i386-2.7/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Modules/itertoolsmodule.o
 -L/opt/local/lib -L/opt/local/lib/db48 -o
 build/lib.macosx-10.6-i386-2.7/itertools.so
 ld: warning: ignoring file
 build/temp.macosx-10.6-i386-2.7/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.17/Modules/itertoolsmodule.o,
 file was built for unsupported file format which is not the architecture
 being linked (i386)
 *** WARNING: renaming "itertools" since importing it failed: dynamic
 module does not define init function (inititertools)
 }}}

 @kencu maybe you could pin python27 to 2.7.16_2 on 10.5 and 10.6
 (LeopardPorts and SnowLeopardPorts) until we have a solution? That version
 doesn't seem to be affected (checked the binary packages from
 http://packages.macports.org/python27/ and the modules dont have the
 _failed.so suffix)

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


More information about the macports-tickets mailing list