[Pythonmac-SIG] matplotlib OS-X binary problems.

Bob Ippolito bob at redivi.com
Fri Feb 4 01:27:14 CET 2005


On Feb 3, 2005, at 19:07, Chris Barker wrote:

> I posted a note here the other day about a matplotlib binary. I've 
> discovered a problem with it. Apparently, it has linked against the 
> libfreetype in /usr/X11. That means it will work fine on a system with 
> Apple's X11 installed (like mine or the first system I tested it on).

.. and the system that I tested it on :)

> So, the question remains: How to I get distutils to statically link 
> selected libs? Bob had suggested:
>
> """Make sure you don't have libpng.dylib or libfreetype.dylib sitting 
> around on your link paths...
>
> Build them like this:
> ./configure --disable-shared --enable static
>
> Make sure you only have libpng.a and libfreetype.a on your link paths. 
> It will link statically.
> """
>
> However, that doesn't seem to work if I have libfreetype.dylib 
> somewhere standard, and I certainly don't want to remove it! (Maybe I 
> could temporarily, but that's hardly the robust solution I'm looking 
> for)

You have three options:
- make sure the dylibs aren't sitting around in the same location as 
the .a, and make sure the .a's path is preferred (you could make a 
local dir, -L to it, symlink the archives in)
- change the setup.py relatively significantly and specify them as 
object files with their full path (I can't tell you off the top of my 
head what the distutils incantation would be for this, but you 
definitely can not use it's "libraries" option, or whatever that is 
called)
- don't link statically and install the dylibs too, somehow (possibly 
by building+installing them with 
--prefix=/Library/Python/2.3/matplotlib/lib-dynload/ and -L to that 
when linking.. note that this would require a bdist_mpkg subclass to 
make a .pkg out of it)

-bob



More information about the Pythonmac-SIG mailing list