15 May 06:40
Re: install lxml 2.0.5 on Mac OS X Leopard - why is it so hard?
From: Kumar McMillan <kumar.mcmillan <at> gmail.com>
Subject: Re: install lxml 2.0.5 on Mac OS X Leopard - why is it so hard?
Newsgroups: gmane.comp.python.lxml.devel
Date: 2008-05-15 04:40:58 GMT
Subject: Re: install lxml 2.0.5 on Mac OS X Leopard - why is it so hard?
Newsgroups: gmane.comp.python.lxml.devel
Date: 2008-05-15 04:40:58 GMT
Hello again On Wed, May 14, 2008 at 1:01 AM, Stefan Behnel <stefan_ml <at> behnel.de> wrote: >> Next up, I'm pretty sure I need to pass -static to libtool so that it >> honors the -lxml2.a (without -static, it says xml2.a -- lib not >> found). > > It's not "-lxml2.a" but a plain "/path/to/libxml2.a" as parameter to link it > in just like the normal lxml.etree.o object file that was just compiled. when I tried the plain paths it says library cannot be found. But I've discovered that building with -static is a dead end. It seems that Apple all but disallows static linking completely: http://developer.apple.com/qa/qa2001/qa1118.html HOWEVER after blood, sweat, and some tears (kidding) this is *all* I needed, it seems: export CFLAGS="-flat_namespace" ...no static builds libxml2 libs, no buildout recipe. I just set that and ran: python setup.py bdist_egg --with-xml2-config=/opt/local/bin/xml2-config --with-xslt-config=/opt/local/bin/xslt-config which uses the libxml2 and etc. installed by ports. In fact, as long as /opt/local/bin is on my path that should work without having to set paths (i.e. from easy_install). All my tests that were segfaulting are now passing. This appears to be the exact same behavior I got by setting DYLD_FORCE_FLAT_NAMESPACE at runtime but without the side affect of applying itself to anything else running in my shell ;) so, I'm thinking this is just two lines of code added to cflags() ... if sys.platform in ('darwin',): result.append('-flat_namespace') Do you want a patch that also includes the adjustments to --static when not windows? I don't think they are necessary anymore. Actually, using --static on darwin should probably raise an error "Apple says no" ;) -Kumar
RSS Feed