Opened 2 years ago

Last modified 2 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 2 years ago by barracuda156

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.

Version 0, edited 2 years ago by barracuda156 (next)

comment:2 Changed 2 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 2 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to jmroot
Status: newassigned

comment:4 in reply to:  2 Changed 2 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.