From 024026d656c9ae5e6dda9b18288a610ff12111e9 Mon Sep 17 00:00:00 2001 From: Stephen Lane-Walsh Date: Fri, 16 Dec 2022 15:11:18 -0500 Subject: [PATCH] Add potential fix to Issue #2509 Python 3.8 introduce winmode to CDLL, if not specified it can lead to conflicts with libiconv --- python/MDSplus/version.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/MDSplus/version.py b/python/MDSplus/version.py index 66025bb199..9de30e4a9c 100644 --- a/python/MDSplus/version.py +++ b/python/MDSplus/version.py @@ -37,6 +37,7 @@ from sys import version_info as pyver import os ispy3 = pyver > (3,) +ispy38 = pyver >= (3,8) ispy2 = pyver < (3,) iswin = os.sys.platform.startswith('win') isdarwin = os.sys.platform.startswith('darwin') @@ -72,7 +73,10 @@ def load_library(name): os.environ['DYLD_LIBRARY_PATH'] = '/usr/local/mdsplus/lib' try: if iswin: - return C.CDLL(name) + if ispy38: + return C.CDLL(name, winmode=C.RTLD_GLOBAL) + else: + return C.CDLL(name) if isdarwin: return C.CDLL('lib%s.dylib' % name) return C.CDLL('lib%s.so' % name)