[Python-Dev] Linux Python linking with G++? (original) (raw)
David Abrahams dave at boost-consulting.com
Fri Jul 8 06:14:31 CEST 2005
- Previous message: [Python-Dev] Linux Python linking with G++?
- Next message: [Python-Dev] Linux Python linking with G++?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Jeff Epler <jepler at unpythonic.net> writes:
If we change the linker back to gcc, not g++, will it work if extension module 1 gets linked with libstdc++ A and ABI Q, and extension module 2 gets linked with libstdc++ B and ABI Z?
Yes, unless they are using sys.setdlopenflags to force symbols to be shared across these extension modules. That's a very intentional act and should (obviously?) only be undertaken when the extension modules share an ABI.
What if a built-in module is written in C++, as it might be for some people embedding C++?
"Embedding" usually refers to embedding a Python interpreter in a program written in some language other than Python. But I think that's what you meant (just correct me if I'm wrong).
(this will force use of g++ as the linker, right?)
Yes.
Don't these cases matter too?
Yes. But the 2nd case is not one in which the Python executable is being built. The person building a program that embeds Python can control how (s)he does linking.
Assuming they can fail now, how will changing the use of CXX as the linker fix them?
I don't understand the question.
Jeff PS The Python 2.3 and Python 2.4 binaries installed on my Fedora Core machine don't list libstdc++ in
rpm -q --requires python' or
ldd /usr/bin/python'. I don't see a patch that would change Python's behavior in the SRPM, though. I wonder what the difference is between my FC2 and the other systems...
I don't know; the ones we happen to be testing are Debian ("sarge," I think).
-- Dave Abrahams Boost Consulting www.boost-consulting.com
- Previous message: [Python-Dev] Linux Python linking with G++?
- Next message: [Python-Dev] Linux Python linking with G++?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]