This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] ignore PYTHONHOME environment variable.


This is something I hinted during one of our discussion at this year's
GCC Summit.

If PYTHONHOME is defined in the environment, then Py_SetProgramName
does not use the program-name location to find the python library.
Instead, it follows the PYTHONHOME, which can cause problems if
it points to a different Python installation, particularly if that
installation is from a different version of Python.

gdb/ChangeLog:

        * python/python.c (_initialize_python): Call Py_SetPythonHome
        if GDB was configured with --with-python.

Tested on x86_64-linux. Ok to commit?

---
 gdb/python/python.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/gdb/python/python.c b/gdb/python/python.c
index d009be9..4f6f679 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -955,6 +955,12 @@ Enables or disables printing of Python stack traces."),
   Py_Initialize ();
   PyEval_InitThreads ();
 
+#ifdef WITH_PYTHON_PATH
+  /* We override any value that the PYTHONHOME might have, as we want
+     to make sure that we use the Python library that comes with GDB.  */
+  Py_SetPythonHome (ldirname (python_libdir));
+#endif
+
   gdb_module = Py_InitModule ("gdb", GdbMethods);
 
   /* The casts to (char*) are for python 2.4.  */
-- 
1.7.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]