Opened 6 months ago

Closed 6 months ago

#60342 closed defect (fixed)

libpsl @0.21.0-20200315 : Build fails on Mac OS X 10.5.8 due to python38 dependency

Reported by: SerpentChris (Chris Calderon) Owned by: ken-cunningham-webuse
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: libpsl

Description

libpsl requires python38 as a build dependency, but there are unresolved issues with python38 on Mac OS X 10.5.8 (see #59772). Would it be possible to revert this back to python37 or perhaps add python37 as a variant? libpsl is a dependency of curl, and through curl git, neither of which can be built on Leopard right now because of this python38 requirement.

Change History (7)

comment:1 Changed 6 months ago by jmroot (Joshua Root)

Cc: MarcusCalhoun-Lopez added

comment:2 Changed 6 months ago by kencu (Ken)

There is an upstream PR <https://github.com/python/cpython/pull/19008> for python 38 that has not yet been reviewed.

Last edited 6 months ago by kencu (Ken) (previous) (diff)

comment:3 Changed 6 months ago by TzunamiOSX

Same problem here...

Leopard on G5 and python38 is needed to install ffmpeg

Hope for a soon as possible fix to continue

Please help, im a noob

:info:build /usr/bin/install -c -d -m 755 Python.framework/Versions/3.8
:info:build /usr/bin/gcc-4.2 -o Python.framework/Versions/3.8/Python -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc    -dynamiclib \
:info:build             -all_load libpython3.8.a -Wl,-single_module \
:info:build             -install_name /opt/local/Library/Frameworks/Python.framework/Versions/3.8/Python \
:info:build             -compatibility_version 3.8 \
:info:build             -current_version 3.8 \
:info:build             -framework CoreFoundation -lintl -ldl   -framework CoreFoundation;
:info:build Undefined symbols:
:info:build   "_pthread_threadid_np", referenced from:
:info:build       _PyThread_get_thread_native_id in libpython3.8.a(thread.o)
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build make: *** [Python.framework/Versions/3.8/Python] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python38/python38/work/Pytho$
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python38/python38/work/Python-3.$
:info:build Exit code: 2
:error:build Failed to build python38: command execution failed
:debug:build Error code: CHILDSTATUS 161 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python38/python38/main.log for details.

comment:4 in reply to:  2 Changed 6 months ago by SerpentChris (Chris Calderon)

Replying to kencu:

There is an upstream PR <https://github.com/python/cpython/pull/19008> for python 38 that has not yet been reviewed.

That's great!

comment:5 in reply to:  3 ; Changed 6 months ago by SerpentChris (Chris Calderon)

Replying to TzunamiOSX:

Same problem here...

Leopard on G5 and python38 is needed to install ffmpeg

Hope for a soon as possible fix to continue

Please help, im a noob

I'm trying to build it right now with python37 instead of python38. What I've done is a simple edit to the libpsl Portfile found at /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/libpsl/Portfile. I've replaced the strings "python38" and "python3.8" with "python37" and "python3.7", respectively. I will comment here again when it finishes building.

comment:6 in reply to:  5 Changed 6 months ago by SerpentChris (Chris Calderon)

Replying to SerpentChris:

Replying to TzunamiOSX:

Same problem here...

Leopard on G5 and python38 is needed to install ffmpeg

Hope for a soon as possible fix to continue

Please help, im a noob

I'm trying to build it right now with python37 instead of python38. What I've done is a simple edit to the libpsl Portfile found at /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/libpsl/Portfile. I've replaced the strings "python38" and "python3.8" with "python37" and "python3.7", respectively. I will comment here again when it finishes building.

Well it finished building without any errors. I'm building curl and git now. I'll try ffmpeg afterward.

comment:7 Changed 6 months ago by ken-cunningham-webuse

Owner: set to ken-cunningham-webuse
Resolution: fixed
Status: newclosed

In 7da358db764df2913c58385f3857e248191cc460/macports-ports (master):

python38: fix build on < 10.6

work around no copyfile on < 10.5
work around no pthread_threadid_np on < 10.6

closes: #60342
closes: #59772
closes: #59827

Thanks to @dgelessus as well for valuable input
There is a comprehensive patch upstream being considered
for a future python release.

Note: See TracTickets for help on using tickets.