[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Link Python bindings against platform-specific library directory (was: Re: [PATCH] Explicitly link the python bindings against libpython (was: Re: Major upgrades to SWIG/Python bindings in r15848))

From: David James <james82_at_gmail.com>
Date: 2005-08-27 23:07:48 CEST

On 8/27/05, Justin Erenkrantz <justin@erenkrantz.com> wrote:
> --On August 27, 2005 1:10:14 PM -0400 David James <james82@gmail.com> wrote:
> > It looks like "get-py-info.py" does not explicitly link Subversion
> > against libpython. For most people, this works fine, but it's still a
> > bug. Previously, this bug was hidden because we indirectly link to
> > libpython when we use the SWIG 1.3.19-1.3.21 runtime libraries.
> >
> > In r10450, Max Bowsher patched "get-py-info.py" to explicitly link
> > Subversion against libpython on the Cygwin platform. In this patch, I
> > have upgraded Max's code to run on all platforms. I have also upgraded
> > Max's code to be compatible with Python 2.2.
> >
> > Justin, does this solve your problem?
> It pointed me in the right direction as to how you thought it should be
> solved. I committed this patch with my modifications in r15943 to trunk.
> get-py-info.py outputs the right info for me on Solaris (self-compiled Python
> & /usr/sfw/python), Ubuntu Linux (which provides a shared libpython DSO), and
> Mac OS X (which uses frameworks). I confirmed it now builds and links
> correctly on Solaris.
> Please give it a go on your platforms to make sure I didn't bust something
> else. ;-)

Great work, Justin! Your code works great on Linux and Cygwin. I also
tested on Solaris and Linux with separate platform-specific library
directories -- this caused a few problems. I've attached a patch to
fix this.

I've checked the output of "get-py-info.py" on the following platforms:
- Shared libpython DSO / Python 2.2 (Redhat Linux 2.4)
- Shared libpython DLL / Python 2.4 (Cygwin)
- Custom-built Python 2.4 (Redhat Linux 2.4)
- Shared libpython DSO in separate platform-specific library
directories (Solaris / Python 2.2, Solaris / Python 2.3, Linux /
Python 2.3)

The "Shared libpython DSO in separate platform-specific library
directories" test case only works with the following patch.

* (ldshared_process): Update libdir to contain the Python standard library
  directory, as calculated using the "LIBPL" config variable. Use
  -lpython2.x to import python libraries on all platforms.



David James -- http://www.cs.toronto.edu/~james

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Sat Aug 27 23:08:32 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.