[Python-Dev] Use C extensions compiled in release mode on a Python compiled in debug mode

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