[ScriptInterpreter] Make sure that PYTHONHOME is right.
authorDavide Italiano <davide@freebsd.org>
Fri, 22 Mar 2019 22:19:57 +0000 (22:19 +0000)
committerDavide Italiano <davide@freebsd.org>
Fri, 22 Mar 2019 22:19:57 +0000 (22:19 +0000)
Summary:
For the only version of Python actually supported on Darwin.

<rdar://problem/40961425>

Reviewers: jingham, friss, JDevlieghere, aprantl, jasonmolenda

Subscribers: jdoerfert, llvm-commits, lldb-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59719

llvm-svn: 356816

lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

index 543b889..d17a53b 100644 (file)
@@ -177,6 +177,16 @@ private:
 #endif
     Py_SetPythonHome(g_python_home);
 #endif
+#else
+#if defined(__APPLE__) && PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 7
+    // For Darwin, the only Python version supported is the one shipped in the OS
+    // and linked with lldb. Other installation of Python may have higher priorities
+    // in the path, overriding PYTHONHOME and causing problems/incompatibilities.
+    // In order to avoid confusion, always hardcode the PythonHome to be right,
+    // as it's not going to change.
+    Py_SetPythonHome("/System/Library/Frameworks/Python.framework/Versions/2.7");
+#endif
+#endif
   }
 
   void InitializeThreadsPrivate() {