From 8fd2612da776c1e61678993a75281afe32e34c51 Mon Sep 17 00:00:00 2001 From: Nabil Ghodbane Date: Thu, 14 Mar 2024 15:32:59 +0100 Subject: [PATCH] [bos #41189] Expose relevant DLL directories to ensure SALOME starts --- src/Basics/KernelBasis.i | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/Basics/KernelBasis.i b/src/Basics/KernelBasis.i index 7e8e2d5f6..e726a7002 100644 --- a/src/Basics/KernelBasis.i +++ b/src/Basics/KernelBasis.i @@ -20,14 +20,15 @@ %module KernelBasis %pythonbegin %{ - # new mechanism introduced in Python 3.8+ about DLL resolution import os def __add_dll_directory__(path): paths = [ p.replace("\\\\", "\\").replace("/", "\\") for p in sys.path] - if not path in paths and os.path.exists(path): + if not os.path.exists(path): + print("ERROR: Directory is reported as non existing: {}".format(path)) + elif not path in paths: os.add_dll_directory(path) else: - print("DEBUG: directory is already present in {}".format(path)) + print("DEBUG: Directory is already present in sys.path {}".format(path)) return import platform @@ -36,15 +37,15 @@ if sys.version_info > (3,8) : try: import os - _dll_exposed = os.getenv("KERNEL_DLLs_Exposed", "") - if _dll_exposed == "" : + _exposed = os.getenv("KERNEL_DLLs_Exposed", "") + if _exposed == "" : print("INFO: Exposing DLL directories") - __add_dll_directory__(os.path.join(os.getenv("KERNEL_ROOT_DIR"), "lib", "salome")) - __add_dll_directory__(os.path.join(os.getenv("GUI_ROOT_DIR"), "lib", "salome")) - __add_dll_directory__(os.path.join(os.getenv("GUI_ROOT_DIR"), "lib", "salome")) - __add_dll_directory__(os.path.join(os.getenv("PTHREAD_ROOT_DIR"), "lib" )) - __add_dll_directory__(os.path.join(os.getenv("PRODUCT_ROOT_DIR"), "W64", "lib" )) - __add_dll_directory__(os.path.join(os.getenv("PRODUCT_ROOT_DIR"), "W64", "bin" )) + __add_dll_directory__(os.path.join(os.getenv("KERNEL_ROOT_DIR"), "lib", "salome" )) + __add_dll_directory__(os.path.join(os.getenv("GUI_ROOT_DIR"), "lib", "salome" )) + __add_dll_directory__(os.path.join(os.getenv("GUI_ROOT_DIR"), "lib", "salome" )) + __add_dll_directory__(os.path.join(os.getenv("PTHREAD_ROOT_DIR"), "lib" )) + __add_dll_directory__(os.path.join(os.getenv("PRODUCT_ROOT_DIR"), "W64", "EXT", "lib")) + __add_dll_directory__(os.path.join(os.getenv("PRODUCT_ROOT_DIR"), "W64", "EXT","bin" )) __add_dll_directory__(os.getenv("OMNIORB_BIN_DIR")) os.environ["KERNEL_DLLs_Exposed"] = "1" except Exception: -- 2.39.2