[lxml-dev] lxml Mac installation idea
Ian Bicking
ianb at colorstudy.com
Wed Nov 12 03:11:46 CET 2008
Mark Bestley wrote:
> Ian Bicking <ianb at colorstudy.com> writes:
>
>> Guntsche Michael wrote:
>>> On Nov 11, 2008, at 21:32, Mark Bestley wrote:
>>>
>>>>> I do not really like the idea of static builds, since the static
>>>>> library has to be universal as well which means bigger files.
>>>>>
>>>> I don't understand this point as the dynamic libraries have to be
>>>> universal as well if python is universal.
>>> What I ment was. If you build lxml yourself get universal builds of
>>> libiconv, libxml2 and libxslt from macports or compile them yourself.
>>> I do not use the lxml port myself, I just use the libxml,xslt and
>>> iconv libraries from there and build an egg. This works both with the
>>> system python version and the one form python.org.
>
> How do you build the egg as my understanding (very possibly incorrect)
> would be that the dynamic libraries would not necessarily have the
> correct paths. Unless you are leaving the dynamic libs in the place
> macports puts them.
My understanding is Enstaller has some code to fix up .so files when
this happens, if we're really interested we could try to copy that
functionality over. But I would really just prefer a static library for
this reason.
>> I cribbed the necessary options for libxml2 and libxslt from people's
>> buildout.cfgs... what are the extra options for libiconv? Mostly, how
>> do I get the lxml build to see it, and do the libxml2 and/or libxslt
>> builds have to see libiconv (some ./configure option)?
>
> If they are like Paul Everitt's buildout I think they work as the
> libxml2 library is dynamic. But as noted in that message
> '''
> One problem with buildout recipes is that they aren't, AFAIK, very
> compatible with other systems. That is, they can build the egg, but the
> egg isn't on the path of any interpreter, so unless you use buildout
> entirely you'll have to do some further manipulation to make lxml
> available.
> '''
>
> What would be the command line to run that buildout (I have not learnt
> buildout yet)
You have to run bootstrap.py, which is usually shipped with the
buildout.cfg, and that installs buildout. Then run bin/buildout, I
think with no arguments, and it'll automatically build what's in
buildout.cfg (or you can indicate other .cfg files with some options).
> The current setup.py fails to get iconv as libxml etc are static.
Right, and I'm assuming the buildout.cfg builds everything dynamically,
which is easier for it because it has a layout that gives it a place to
put the libxml libraries. But that's hard in a more general sense, so
ideally iconv could be built static like everything else? Or is this
going to cascade into a neverending set of libraries, all of which have
to be static if any of them are static?
--
Ian Bicking : ianb at colorstudy.com : http://blog.ianbicking.org
More information about the lxml-dev
mailing list