Opened 4 years ago
Last modified 4 years ago
#65495 assigned defect
python310: is now broken for Rosetta: Undefined symbols: "_pthread_threadid_np"
| Reported by: | barracuda156 | Owned by: | jmroot (Joshua Root) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.7.2 |
| Keywords: | powerpc, rosetta, snowleopard | Cc: | |
| Port: | python310 |
Description
I believe it was working before, but now it is broken:
/usr/bin/ranlib: file: libpython3.10.a(dynamic_annotations.o) has no symbols
/usr/bin/ranlib: file: libpython3.10.a(pymath.o) has no symbols
/usr/bin/install -c -d -m 755 Python.framework/Versions/3.10
/usr/bin/gcc-4.2 -o Python.framework/Versions/3.10/Python -L/opt/bootstrap/lib -Wl,-headerpad_max_install_names -arch ppc -dynamiclib \
-all_load libpython3.10.a -Wl,-single_module \
-install_name /opt/bootstrap/Library/Frameworks/Python.framework/Versions/3.10/Python \
-compatibility_version 3.10 \
-current_version 3.10 \
-framework CoreFoundation -lintl -ldl -framework CoreFoundation;
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
Undefined symbols:
"_pthread_threadid_np", referenced from:
_PyThread_get_thread_native_id in libpython3.10.a(thread.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [Python.framework/Versions/3.10/Python] Error 1
make: Leaving directory `/opt/bootstrap/var/macports/build/_opt_bootstrap_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python310/python310/work/Python-3.10.5'
Command failed: cd "/opt/bootstrap/var/macports/build/_opt_bootstrap_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python310/python310/work/Python-3.10.5" && /usr/bin/make -j4 -w all
Exit code: 2
Change History (4)
comment:1 Changed 4 years ago by barracuda156
comment:2 follow-up: 4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
| Summary: | Python 3.10 is now broken for Rosetta: Undefined symbols: "_pthread_threadid_np" → python310: is now broken for Rosetta: Undefined symbols: "_pthread_threadid_np" |
|---|
It seems like applying the patch unconditionally would be simpler.
The same block appears in the python38, python39, and python311-devel Portfiles; I assume they all need the same fix.
comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
| Owner: | set to jmroot |
|---|---|
| Status: | new → assigned |
comment:4 Changed 4 years ago by barracuda156
Replying to ryandesign:
It seems like applying the patch unconditionally would be simpler.
The same block appears in the python38, python39, and python311-devel Portfiles; I assume they all need the same fix.
Yes, I agree with you totally.
Note: See
TracTickets for help on using
tickets.

This solves the issue:
if {${os.platform} eq "darwin" && ${os.major} == 10 && ${build_arch} eq "ppc"} { # this is needed for a PPC build on SL patchfiles-append patch-threadid-older-systems.diff }To be explicit, I am talking about a standard 10.6.8 Rosetta here. Or otherwise apply the patch unconditionally.