From f07ddbc620a0466ebbb41ccbc78f20a8591bed5a Mon Sep 17 00:00:00 2001 From: Lawrence D'Anna Date: Wed, 17 Nov 2021 09:16:50 -0800 Subject: [PATCH] [lldb] build failure for LLDB_PYTHON_EXE_RELATIVE_PATH on greendragon see: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/38387/console ``` Could not find a relative path to sys.executable under sys.prefix tried: /usr/local/opt/python/bin/python3.7 tried: /usr/local/opt/python/bin/../Frameworks/Python.framework/Versions/3.7/bin/python3.7 sys.prefix: /usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7 ``` It was unable to find LLDB_PYTHON_EXE_RELATIVE_PATH because it was not resolving the real path of sys.prefix. caused by: https://reviews.llvm.org/D113650 --- lldb/bindings/python/get-python-config.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lldb/bindings/python/get-python-config.py b/lldb/bindings/python/get-python-config.py index 507a8aa..978dc07 100755 --- a/lldb/bindings/python/get-python-config.py +++ b/lldb/bindings/python/get-python-config.py @@ -24,19 +24,21 @@ def main(): elif args.variable_name == "LLDB_PYTHON_EXE_RELATIVE_PATH": tried = list() exe = sys.executable + prefix = os.path.realpath(sys.prefix) while True: try: - print(relpath_nodots(exe, sys.prefix)) + print(relpath_nodots(exe, prefix)) break except ValueError: tried.append(exe) if os.path.islink(exe): - exe = os.path.join(os.path.dirname(exe), os.readlink(exe)) + exe = os.path.join(os.path.realpath(os.path.dirname(exe)), os.readlink(exe)) continue else: print("Could not find a relative path to sys.executable under sys.prefix", file=sys.stderr) for e in tried: print("tried:", e, file=sys.stderr) + print("realpath(sys.prefix):", prefix, file=sys.stderr) print("sys.prefix:", sys.prefix, file=sys.stderr) sys.exit(1) elif args.variable_name == "LLDB_PYTHON_EXT_SUFFIX": -- 2.7.4