Re: [xslt] problems with libxslt and python on Mac OS X



>>> Oh! Of course! You can change which one is linked with -F. So you 
>>> would want as full arguments to the mod builds:
>>>   -Xlinker -F -Xlinker /Library/Frameworks  -Xlinker -framework 
>>> -Xlinker Python
>>
>> Hum. I did this and rebuilt things, but I got an error from Make, so 
>> I decided that ditching my non-factory python would be sensible. I'm 
>> in the process of rebuilding binaries now.
>
> Hmmm.
>
> Having gone back to factory python and built pre-bound binaries I can 
> report that all the tests I've run which had failed now work fine, 
> which is good, although it doesn't explain why 2.6.5/1.1.2 would build 
> and run without pre-binding. There's clearly a problem here, but I've 
> no idea what it could be.
>
> Does anyone have any thoughts? Is it something to do with building the 
> python libraries for a framework python (my best guess so far). Is 
> there anything that can be done about it upstream of editing 
> post-configure Makefiles?
>
> Thanks again for your help Marc-Antoine!

First, I'm happy you have success.
Second, it's hard to get ideas with more than one variable changing at 
the same time!
Specifically, the factors that seem to have given you success:
a) which version of Python you are using
b) whether the libraries are prebound

Can you be bothered to make a non-prebound version of the dylibs, or to 
use the prebound dylibs against your custom-made python? Either would 
be useful.

as for the patches... I agree that they are horrible, and that is 
partly due to my very, very limited understanding of libtool.
For example, I realized (later) that my modifying the libtool itself 
was unnecessary, it would be adequate to add -no-undefined in the 
appropriate LDFLAGS.

This is already done, incidentally on the mingw (Win32) platform, in 
the line 1024 of configure.in

  WIN32_EXTRA_LDFLAGS="-no-undefined"

It would be a good thing to add something similar to the darwin 
configure (and rename the flag?).
but this would have to be done cleanly, i.e. by the maintainers. 
(Anyone interested? Tell me if you want me to attempt to fix the 
configure files myself; but be warned you would be better off doing 
that yourself!)

In short, the following flags would have to be added by configuration 
on darwin: (this should be clearer than my earlier message):

file gnome-xml/Makefile.in
	flag libxml2_la_LDFLAGS : Add
		-no-undefined -Xlinker -prebind -Xlinker -seg1addr -Xlinker c200000
	flag LDADDS:  Add
		-Xlinker -prebind

file gnome-xml/python/Makefile.in
	flag libxml2mod_la_LDFLAGS: Add
		-no-undefined -Xlinker -framework -Xlinker Python

file libxslt/libxslt/Makefile.in
	flag libxslt_la_LDFLAGS : Add
		-no-undefined -Xlinker -prebind -Xlinker -seg1addr -Xlinker c500000

file libxslt/libexslt/Makefile.in
	flag libexslt_la_LDFLAGS : Add
		-no-undefined -Xlinker -prebind -Xlinker -seg1addr -Xlinker c600000

file libxslt/xsltproc/Makefile.in
	flag LDADDS:  Add
		-Xlinker -prebind

file libxslt/python/Makefile.in
	flag libxsltmod_la_LDFLAGS: Add
		-no-undefined -Xlinker -framework -Xlinker Python

Note: I suspect that the modifications to the Python mod LDFLAGS are 
not absolutely necessary for things to work... But since I do not get 
your failure case, I am not quite sure of that. And -no-undefined is 
probably a good idea whenever possible.

Marc-Antoine




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]