[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