[csw-maintainers] libcairo dependency on /usr/openwin/lib/libX11.so...

Roger Håkansson hson at opencsw.org
Mon Jan 11 23:22:07 CET 2010


Roger Håkansson wrote:
> On 2010-01-09 23:41, Roger Håkansson wrote:
>> I've committed some changes to the Makefile which fixes this problem.
>>
> 
> Seems I was a little bit hasty in my assessment...
> My first fix will make libcairo use /opt/csw/X11/lib/libXrender.so at 
> link time, but not runtime.
> I've tested with a second one where made sure that -R/opt/csw/X11/lib 
> would be first in runtimepath but still, when linking librsvg for 
> instance, the wrong libXrender.so will be picked.
> 
> So as far as I can see it, in order to "fix" the problem, all packages 
> which link to libXrender.so or to a another lib which link to 
> libXrender.so, must make sure that /opt/csw/X11/lib before /opt/csw/lib 
> in RUNPATH and not the opposite.
> Or we just remove /opt/csw/lib/libXrender.so* which probably would break 
> a ton of packages.
> 
> For now (and until someone tells me it's a bad idea) I'll make sure my 
> packages have X11/lib first in runpath

Just to clarify, I've added (and committed) this to the Makefile for
libcairo:
EXTRA_SOS_LD_FLAGS = -L$(abspath $(prefix)/X11/lib/$(MM_LIBDIR))
EXTRA_SOS_LD_OPTIONS = -R$(abspath $(prefix)/X11/lib/$(MM_LIBDIR))

This will give us a libcairo.so with /opt/csw/X11/lib first in RUNPATH.

Then the packages using libcairo only need to have -L/opt/csw/X11/lib
first during build (i.e same setting as libcairo for EXTRA_SOS_LD_FLAGS, 
but not EXTRA_SOS_LD_OPTIONS)
Runtime everything seems to be ok (on my build machines where I've built
and reinstalled packages as I built them) using these options. But 
that's only my quick observations.



More information about the maintainers mailing list