[issue36753] Python modules not linking to libpython causes issues for RTLD_LOCAL system-wide

László Várady report at bugs.python.org
Thu Aug 8 08:36:22 EDT 2019


László Várady <laszlo.varady93 at gmail.com> added the comment:

I'd like to mention a real-world example for this issue: syslog-ng with its
plugin system.

Plugins are loaded using dlopen() after the initial plugin discovery. RTLD_LOCAL
would be a reasonable choice, since symbols in plugins should not pollute the
global namespace (so plugins using different versions of OpenSSL, Python, etc.
would be possible).

Since we have Python-based plugins, we had to use RTLD_GLOBAL instead (with RTLD_LAZY to
reduce the possibility of conflicts) as a workaround.

Note: The latest Python 3 version seems to be working with RTLD_LOCAL as everything
under lib-dynload/ linked against libpython.

----------
nosy: +MrAnno

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue36753>
_______________________________________


More information about the Python-bugs-list mailing list