STINNER Victor <vstin...@redhat.com> added the comment:
I wrote PR 12946: "On Unix, C extensions are no longer linked to libpython". Using PR 12946, the use case described in the initial message (msg218806) now works as expected. I can load a C extension built by a shared library Python with a statically linked Python: $ LD_LIBRARY_PATH=/opt/py38shared/lib /opt/py38notshared/bin/python3.8 Python 3.8.0a3+ (heads/master:be0099719c, Apr 25 2019, 02:10:57) >>> import sys; sys.path.insert(0, '/opt/py38shared/lib/python3.8/lib-dynload') >>> import _ssl >>> _ssl <module '_ssl' from '/opt/py38shared/lib/python3.8/lib-dynload/_ssl.cpython-38-x86_64-linux-gnu.so'> /opt/py38notshared/bin/python3.8 is statically linked, whereas /opt/py38shared/lib/python3.8/lib-dynload/_ssl.cpython-38-x86_64-linux-gnu.so comes from a shared library Python. Install shared libray Python into /opt/py38shared: git clean -fdx; ./configure CFLAGS="-O0" --enable-shared --prefix /opt/py38shared && make && make install Install statically linked Python into /opt/py38notshared: git clean -fdx; ./configure CFLAGS="-O0" --prefix /opt/py38notshared && make && make install -- As Antoine said, the opposite already works. Just in case, I also tested and I confirm that it still works: $ LD_LIBRARY_PATH=/opt/py38shared/lib /opt/py38shared/bin/python3.8 Python 3.8.0a3+ (heads/master:be0099719c, Apr 25 2019, 02:09:02) >>> import sys; sys.path.insert(0, >>> '/opt/py38notshared/lib/python3.8/lib-dynload') >>> import _ssl >>> _ssl <module '_ssl' from '/opt/py38notshared/lib/python3.8/lib-dynload/_ssl.cpython-38-x86_64-linux-gnu.so'> _ssl comes from statically linked Python (/opt/py38notshared) and is loaded in shared library Python (/opt/py38shared). ---------- versions: -Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue21536> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com