Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#64458 - [python] pkg-config --libs python3 is empty

Attached to Project: Arch Linux
Opened by Bastian Beranek (totsilence) - Monday, 11 November 2019, 15:46 GMT
Last edited by Antonio Rojas (arojas) - Monday, 11 November 2019, 15:51 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


With the new python 3.8 (version 3.8.0-1) in testing I find that running

pkg-config --libs python3

produces nothing. It used to print something like:

-L/usr/lib -lpython3.7m

with the previous version and I would expect it to print "-L/usr/lib -lpython3.8" now.
This task depends upon

Closed by  Antonio Rojas (arojas)
Monday, 11 November 2019, 15:51 GMT
Reason for closing:  Not a bug
Comment by Bastian Beranek (totsilence) - Monday, 11 November 2019, 15:48 GMT
I just found this excerpt from the release notes:

To embed Python into an application, a new --embed option must be passed to python3-config --libs --embed to get -lpython3.8 (link the application to libpython). To support both 3.8 and older, try python3-config --libs --embed first and fallback to python3-config --libs (without --embed) if the previous command fails.

Add a pkg-config python-3.8-embed module to embed Python into an application: pkg-config python-3.8-embed --libs includes -lpython3.8. To support both 3.8 and older, try pkg-config python-X.Y-embed --libs first and fallback to pkg-config python-X.Y --libs (without --embed) if the previous command fails (replace X.Y with the Python version).

On the other hand, pkg-config python3.8 --libs no longer contains -lpython3.8. C extensions must not be linked to libpython (except on Android and Cygwin, whose cases are handled by the script); this change is backward incompatible on purpose. (Contributed by Victor Stinner in bpo-36721.)

So I suppose this is on purpose, closing...