From 393e1483d3dc99a9e0fe0fc358b88a97a3960c95 Mon Sep 17 00:00:00 2001 From: Yohei Kojima Date: Thu, 10 Oct 2024 11:56:47 +0900 Subject: [PATCH] bindings: Support lib64/ when working with lockfile --- bindings/python/ns__init__.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/bindings/python/ns__init__.py b/bindings/python/ns__init__.py index c886650ab..5b94bcab2 100644 --- a/bindings/python/ns__init__.py +++ b/bindings/python/ns__init__.py @@ -251,10 +251,18 @@ def find_ns3_from_lock_file(lock_file: str) -> (str, list, str): values["NS3_ENABLED_MODULES"] + values["NS3_ENABLED_CONTRIBUTED_MODULES"], ) ) + prefix = values["out_dir"] - libraries = { - os.path.splitext(os.path.basename(x))[0]: x for x in os.listdir(os.path.join(prefix, "lib")) - } + path_to_lib = None + for variant in ["lib", "lib64"]: + path_candidate = os.path.join(prefix, variant) + if os.path.isdir(path_candidate): + path_to_lib = path_candidate + break + if path_to_lib is None: + raise Exception(f"Directory {prefix} does not contain subdirectory lib/ (nor lib64/).") + libraries = {os.path.splitext(os.path.basename(x))[0]: x for x in os.listdir(path_to_lib)} + version = values["VERSION"] # Filter out test libraries and incorrect versions