[Python-Dev] Use C extensions compiled in release mode on a Python compiled in debug mode (original) (raw)

Victor Stinner vstinner at redhat.com
Thu Apr 25 07:26:35 EDT 2019


I looked how fonforge gets compiler and linker flags to embed Python: it seems like to "pkg-config --libs python-2.7" which returns "-lpython2.7". My PR doesn't change Misc/python.pc. Should I modify Misc/python.pc as well... or not? :-) I'm not used to pkg-config. I don't know if it's common that C extensions are built using pkg-config. I guess that distutils is more commonly used to build C extensions.

Victor

Le jeu. 25 avr. 2019 à 12:53, Victor Stinner <vstinner at redhat.com> a écrit :

Le jeu. 25 avr. 2019 à 09:30, Matthias Klose <doko at ubuntu.com> a écrit : > the purpose of python-config here is not clear. Whether it's intended to be used > for linking extensions, or embedded interpreters. Currently you are using the > same for both use cases.

My PR 12946 removes libpython from distutils, python-config and python-config.py: https://github.com/python/cpython/pull/12946 Do you mean that this change will break the build of applications embedding Python? If yes, what can done to fix that? Provide a different script to the specific case of embedded Python? Or add a new option to specify that you are embedding Python? In Python 3.7, the required linker flag is "-lpython3.7m". It's not trivial to guess the "m" suffix. FYI Python 3.8 it becames just "-lpython3.8": I removed the "m" suffix which was useless. Victor -- Night gathers, and now my watch begins. It shall not end until my death.

-- Night gathers, and now my watch begins. It shall not end until my death.



More information about the Python-Dev mailing list