Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#59518 closed defect (fixed)

python38's distutils.sysconfig contains the wrong linking flags.

Reported by: mamoll (Mark Moll) Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: jmroot (Joshua Root), pmetzger (Perry E. Metzger)
Port: python38

Description

This produces the wrong output:

> python3.8 -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LINKFORSHARED'))"
-L/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/config-3.8-darwin -lpython3.8m -ldl -framework CoreFoundation

In Python3.8 the library doesn't have the m suffix. This leads to problems when python-related packages use distutils to determine compilation flags: https://github.com/macports/macports-ports/commit/8fe8bee1d144ab961ce986e7ea568921e3b336f7

Change History (6)

comment:1 Changed 4 years ago by mamoll (Mark Moll)

In 6836194cdfcea593e39c9b6479dd26f4f0773c54/macports-ports (master):

dbus-python38: workaround for broken config of python38 port

See: #59518

comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jmroot added

Josh, you maintain pythno37 and older pythons; maybe you want to maintain python38 as well?

comment:3 Changed 4 years ago by reneeotten (Renee Otten)

Joshua, I understand the whole update/addition of python38 didn't go the way it should have... Despite of that and moving forward at least I would really appreciate it if you would be willing to maintain python38 as well.

I guess many of the potential changes would be applicable to all Python ports, and you certainly have way more experience/expertise with maintaining it than most of us (and certainly than me). I would be happy though to take a look at the python38 port, compare that to python37 and python39-devel including their patches, and see if I can do something about it, but it would definitely benefit from your expertise. What do you think?

comment:4 Changed 4 years ago by jmroot (Joshua Root)

Cc: pmetzger added

Should just be a matter of updating the modification of sysconfig with awk in the portfile.

comment:5 Changed 4 years ago by reneeotten (Renee Otten)

Owner: set to reneeotten
Resolution: fixed
Status: newclosed

In 0eb49d903862e8faf21900985290f9c7e93b1263/macports-ports (master):

python38: add missing patches, fix linking flags (https://github.com/macports/macports-ports/pull/5968)

  • python38: add note to keep py38-gdbm and py38-tkinter versions in sync
  • python38: update patch-setup.py.diff
  • python38: refresh patches to apply cleanly
  • patch-Lib-cgi.py.diff
  • patch-configure.diff
  • patch-Lib-ctypes-macholib-dyld.py.diff
  • patch-libedit.diff
  • patch-configure-xcode4bug.diff
  • python38: update python3-python38 select file
  • python38: add patch-_osx_support.py.diff
  • handle -isysroot without a space
  • python38: use compiler.blacklist-append
  • python38: fix linking flags, rev bump to rebuild

Closes: #59518

comment:6 Changed 4 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

In 1258a34b10efbd37452a14af1b1095dd7659f9c3/macports-ports (master):

dbus-python: remove temporary workaround

See #59518

Note: See TracTickets for help on using tickets.