From: Christian Heimes Date: Sun, 25 Feb 2018 11:31:17 +0000 (+0100) Subject: [2.7] bpo-32647: Link ctypes extension with libdl. (GH-5550) (#5877) X-Git-Tag: v2.7.15rc1~36 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4bb9b9aea04b1a96632da1b30a58fb31cbe6ec92;p=python [2.7] bpo-32647: Link ctypes extension with libdl. (GH-5550) (#5877) The ctypes module used to depend on indirect linking for dlopen. The shared extension is now explicitly linked against libdl on platforms with dl. Signed-off-by: Christian Heimes . (cherry picked from commit 5bb9692575f10f4a7c7f1c2c0c70956baf6d5c23) Co-authored-by: Christian Heimes --- diff --git a/Misc/NEWS.d/next/Library/2018-02-05-13-31-42.bpo-32647.ktmfR_.rst b/Misc/NEWS.d/next/Library/2018-02-05-13-31-42.bpo-32647.ktmfR_.rst new file mode 100644 index 0000000000..04fc0247bc --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-02-05-13-31-42.bpo-32647.ktmfR_.rst @@ -0,0 +1,2 @@ +The ctypes module used to depend on indirect linking for dlopen. The shared +extension is now explicitly linked against libdl on platforms with dl. diff --git a/setup.py b/setup.py index c1366c8436..33cecc6875 100644 --- a/setup.py +++ b/setup.py @@ -2149,6 +2149,10 @@ class PyBuildExt(build_ext): ext.libraries.append(ffi_lib) self.use_system_libffi = True + if sysconfig.get_config_var('HAVE_LIBDL'): + # for dlopen, see bpo-32647 + ext.libraries.append('dl') + def _detect_nis(self, inc_dirs, lib_dirs): if host_platform in {'win32', 'cygwin', 'qnx6'}: return None