[gobolinux-devel] LibRSVG and NSPR
Jonas Karlsson
jonka750 at student.liu.se
Tue Feb 5 21:37:24 NZDT 2008
2008/2/1, Giambattista Bloisi <giamby at infinito.it>:
> Jonas Karlsson wrote:
> > On Fri, 01 Feb 2008 00:43:46 +0100, Giambattista Bloisi <giamby at infinito.it> wrote:
> >
> >
> >> Jonas Karlsson wrote:
> >>
> >>> On Fri, 01 Feb 2008 00:06:08 +0100, Giambattista Bloisi <giamby at infinito.it> wrote:
> >>>
> >>>
> >>>
> >>>> Lucas C. Villa Real wrote:
> >>>>
> >>>>
> >>>>> On Jan 31, 2008 2:28 PM, Giambattista Bloisi <giamby at infinito.it> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>>> Ideally, that fix should be made to NSPR's pkgconfig/libtool files (in
> >>>>>>> the recipe, in the pre_link() stage). You can commit your workaround,
> >>>>>>> though, but feel very welcome to hack on NSPR's recipe if you have the
> >>>>>>> time to do that, too.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>> The NSPR recipe seems ok: it installs a correct nspr.pc file into the
> >>>>>> $target dir.
> >>>>>> The problem is that the content of this file changes after SymlinkProgram.
> >>>>>>
> >>>>>> From:
> >>>>>> prefix=/Programs/NSPR/4.6.7
> >>>>>> exec_prefix=/Programs/NSPR/4.6.7
> >>>>>> libdir=${prefix}/lib
> >>>>>> includedir=${prefix}/include
> >>>>>>
> >>>>>> Name: NSPR
> >>>>>> Description: The Netscape Portable Runtime
> >>>>>> Version: 4.6.7
> >>>>>> Libs: -L${libdir} -lplds4 -lplc4 -lnspr4 -lpthread -ldl
> >>>>>> Cflags: -I${includedir}/nspr
> >>>>>>
> >>>>>>
> >>>>>> It becames:
> >>>>>> prefix=/usr
> >>>>>> exec_prefix=/usr
> >>>>>> [... same content]
> >>>>>>
> >>>>>> I guess SymlinkProgram calls pkg-config with wrong parameters.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> That's the expected result, it's not a bug.
> >>>>>
> >>>>> The strange thing is that Cflags already includes /nspr. Maybe the
> >>>>> problem is that LibRSVG is not calling pkgconfig to merge NSPR's
> >>>>> cflags?
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>> Yes I forgot that /usr/include is available as symlink! Perhaps I got
> >>>> the source of the problem. As you say, It looks like LibRSVG do not use
> >>>> pkg-config for building the mozilla plugin. It instead uses firefox-config:
> >>>> > firefox-config --cflags
> >>>> -I/Programs/Firefox/2.0.0.3/include/mozilla/firefox-2.0.0.3
> >>>> -I/Programs/NSPR/4.6.5/include/nspr
> >>>>
> >>>> On my system I have only NSPR 4.6.7 installed, so the include dir do no
> >>>> longer exist.
> >>>>
> >>>>
> >>>>
> >>> How did you install Firefox? Compile or InstallPackage?
> >>>
> >>>
> >>>
> >> I did not install it. It's the version bundled with 014 livecd.
> >>
> >>
> > Well that answers my question as well as provide an explanation for the issue.
> > The package on the CD was made with Compile, and probably built before pkg-config
> > files were handled by FixDirReferences (earlier called FixLibtoolLa), which mean
> > that if Firefox is rebuilt with new scripts (and all .pc files "corrected") this
> > shouldn't be an issue as firefox-config probably would reference /usr/include/...
> > instead.
> >
> >
> I recompiled firefox (2.0.0.11) to see what happens to firefox-config.
> Now it prints:
> giamba at Giamba ~]firefox-config --cflags
> -I/Programs/Firefox/2.0.0.11/include/firefox-2.0.0.11
> -I/Programs/NSPR/4.6.7/include/nspr
>
> So even though /lib/pkgconfig/nspr.pc references /usr/include this does
> not fix the issue.
> BTW now the icon of firefox disappeared from the KDE menu :(
>
After some thinking, .la files can also be affected, and compilation
of Firefox might take those entries in. To fix installed .pc and .la
files run
find /System/Links/Libraries -name "*.la" -or -name "*.pc" | FixDirReferences
Then try and recompile firefox again.
--
/Jonas
More information about the gobolinux-devel
mailing list