[poppler] rpath - was - Re: cmake CXXFLAGS

Albert Astals Cid aacid at kde.org
Sun Sep 24 22:12:01 UTC 2017


El diumenge, 24 de setembre de 2017, a les 9:58:35 CEST, Carlos Garcia Campos 
va escriure:
> Albert Astals Cid <aacid at kde.org> writes:
> > El dilluns, 11 de setembre de 2017, a les 20:52:31 CEST, Adrian Johnson va
> > 
> > escriure:
> >> On 11/09/17 20:28, Albert Astals Cid wrote:
> >> > El diumenge, 10 de setembre de 2017, a les 20:39:18 CEST, Adrian
> >> > Johnson
> > 
> > va escriure:
> >> >> One more problem I found with cmake. It does not set up the rpath for
> >> >> the install directory like autotools does. I sometimes have more than
> >> >> one version of poppler installed to different prefixes for testing
> >> >> purposes. With autotools I could just run any version without needing
> >> >> to
> >> >> change LD_LIBRARY_PATH for the version I want to run.
> >> > 
> >> > Don't touch LD_LIBRARY_PATH at all, it already does what you want.
> >> > 
> >> > tsdgeos at xps:~/devel/poppler/build-new:master$ ldd utils/pdfinfo | grep
> >> > poppler>
> >> > 
> >> >         libpoppler.so.70 =>
> >> >         /home/tsdgeos/devel/poppler/build-new/libpoppler.so.70
> >> >         (0x00007fc473d96000)>
> >> > 
> >> > tsdgeos at xps:~/devel/poppler/build-new:master$ cd ..
> >> > tsdgeos at xps:~/devel/poppler:master$ cd build-old/
> >> > tsdgeos at xps:~/devel/poppler/build-old:master$ ldd utils/pdfinfo | grep
> >> > poppler>
> >> > 
> >> >         libpoppler.so.70 =>
> >> >         /home/tsdgeos/devel/poppler/build-old/libpoppler.so.70
> >> >         (0x00007f6d96bdd000)
> >> 
> >> Not after it has been installed.
> >> 
> >> ~/usr/bin$ ldd ./pdfinfo  | grep poppler
> >> 
> >>         libpoppler.so.70 => not found
> >> 
> >> autotools sets the rpath to the install directory.
> > 
> > This may be a silly question, but why do you need to install multiple
> > versions, just have different build dirs?
> > 
> > rpath is evil since AFAIR it wins against LD_LIBRARY_PATH, *I* want to
> > have
> > the last word.
> 
> This has broken my workflow, though. I was going crazy finding a
> regression, because I was getting always the same results for every
> revision I tried, until I figured out it was because the poppler glib
> demo in build dir was always using the installed poppler. I have poppler
> and many other things installed with jhbuild in a different prefix in my
> home. jhbuild uses LD_LIBRARY_PATH, so since it wins, when I try to run
> From build dir with jhbuild run glib/demo/poppler-glib-demo it always
> uses the installed libraries. This is the way I work in all other
> projects. If I run the demo without jhbuld run, then it correctly links
> to the libs in the buildir, but then it doesn't use my other libraries
> installed by jhbuild (cairo, pixman, etc.), so that's not a solution for
> me. I can't set LD_LIBRARY_PATH either, because jhbuild prepends its
> paths, and it would be quite inconvenient. In other projects I work, that
> use cmake, RPATH is set to the build directory, and removed by make
> install. When running from the build dir, 99% of the times you really
> want to use the built libraries from the build dir not the installed ones,
> so RPATH does the right thing. What I usually do the other 1% of the
> times I don't want this, is using LD_PRELOAD.

I sincerely find this is more a limitation fo your tools than of our build 
system, why is jhbuild adding the poppler LD_LIBRARY_PATH when running in 
poppler? it seems to me if you're running a poppler too it should only add the 
dependencies of the libraries it needs, not of itself too.

Anyway if you can produce a patch that doesn't interfere with my workflow and 
it helps both you and Adrian i guess we could commit it if noone else 
disagrees.

Cheers,
  Albert

> 
> > Cheers,
> > 
> >   Albert
> >   
> >> > Cheers,
> >> > 
> >> >   Albert
> >> > 
> >> > _______________________________________________
> >> > poppler mailing list
> >> > poppler at lists.freedesktop.org
> >> > https://lists.freedesktop.org/mailman/listinfo/poppler
> >> 
> >> _______________________________________________
> >> poppler mailing list
> >> poppler at lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/poppler
> > 
> > _______________________________________________
> > poppler mailing list
> > poppler at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/poppler




More information about the poppler mailing list