Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Terry Guo <flameroc@gmail.com>
Cc: Paul_Koning@dell.com, tim@krieglstein.org, gdb@sourceware.org,
	Antonio Cavallo <a.cavallo@cavallinux.eu>
Subject: Re: Is it possible to statically link python into gdb?
Date: Wed, 25 Jun 2014 14:37:00 -0000	[thread overview]
Message-ID: <20140625143657.GI5253@adacore.com> (raw)
In-Reply-To: <CAGbRaL5VBbF448=wmQ7mZdFirY6jv7dZ3f34uhNt1X-JAa6LxA@mail.gmail.com>

> I admit that I have to make a compromise here. I am delivering gdb to
> my customer and my expectation is that they can use my gdb with python
> support no matter there is python in their system and no matter the
> version of their installed python. After a lot of attempts, I think I
> can't reach my expectation. I guess I have to live with my above
> workaround.

What we do is statically link Python into GDB, and then distribute
both GDB + Python. As long as the path to Python is inside the
configured prefix, the path to the Python libraries should be
"relocatable", allowing users to install the binary package anywhere
and GDB will always find them.

One thing we also do that's not done in the FSF version of GDB
is the following:

@@ -1680,6 +1680,10 @@ message == an error message without a stack will be printed."),
 #else
   Py_SetProgramName (progname);
 #endif
+
+  /* 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
 
   Py_Initialize ();

Some users have had their own version of Python which may be incompatible
with the version we ship in GDB, so we make sure that within GDB, we use
the Python that we built with.

-- 
Joel


  parent reply	other threads:[~2014-06-25 14:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-21  3:01 Terry Guo
2014-06-23 13:49 ` Tim Sander
2014-06-23 15:48   ` Paul_Koning
2014-06-25  1:47     ` Terry Guo
2014-06-25  8:32       ` OT: " Tim Sander
2014-06-25  9:00         ` Terry Guo
2014-06-25 14:37       ` Joel Brobecker [this message]
2014-06-25 14:58         ` Hector Oron
2014-06-25 15:17           ` Joel Brobecker
2014-06-25 15:29             ` Hector Oron
2014-07-01 17:00               ` Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140625143657.GI5253@adacore.com \
    --to=brobecker@adacore.com \
    --cc=Paul_Koning@dell.com \
    --cc=a.cavallo@cavallinux.eu \
    --cc=flameroc@gmail.com \
    --cc=gdb@sourceware.org \
    --cc=tim@krieglstein.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox