[Bug 223387] New: don't use the raw libpoppler interface directly
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=223387 Summary: don't use the raw libpoppler interface directly Product: openSUSE 10.3 Version: unspecified Platform: All OS/Version: All Status: NEW Severity: Normal Priority: P5 - None Component: GNOME AssignedTo: bnc-team-gnome@forge.provo.novell.com ReportedBy: andreas.hanke@gmx-topmail.de QAContact: qa@suse.de Right now, the following non-library packages have a direct dependency on libpoppler.so.1: abiword evince gimp-unstable Applications are supposed to use poppler only through one of the bindings (either poppler-glib or poppler-qt). The raw libpoppler interface is not a frozen API, it might change any time (even during a security update) and applications that unnecessarily link against libpoppler will misbehave (e.g. crash). Two of the above mentioned applications don't use libpoppler at all: # ldd -u -r /opt/gnome/bin/evince | grep -E 'Unused|poppler' Unused direct dependencies: /usr/lib/libpoppler.so.1 # ldd -u -r /opt/gnome/bin/evince-thumbnailer | grep -E 'Unused|poppler' Unused direct dependencies: /usr/lib/libpoppler.so.1 # ldd -u -r /opt/gnome/lib/gimp/2.0/plug-ins/poppler | grep -E 'Unused|poppler' Unused direct dependencies: /usr/lib/libpoppler.so.1 Please make sure that these don't unnecessarily link to libpoppler in order to avoid future breakage. Abiword is a special case because it does indeed use libpoppler directly. It shouldn't, but that's an upstream issue. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=223387 ------- Comment #1 from andreas.hanke@gmx-topmail.de 2006-11-22 18:39 MST ------- There seems to be something screwed up with your pkg-config setup: # pkg-config --libs poppler-glib -L/opt/gnome/lib -lpoppler-glib -lpoppler -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lfreetype -lz -lfontconfig -lexpat -lglitz -lm -lpng12 -lXrender -lX11 -lpthread -lXau -lXdmcp This command should _not_ return -lpoppler because /usr/lib/pkgconfig/poppler-glib.pc has: Requires.private: poppler = 0.5.4 But you are building pkgconfig with --enable-indirect-deps. This is a really bad idea because it exposes all private requirements to applications. Why? It very much looks like this has been added as a workaround for a problem (broken packages) that should have been fixed differently! This should not be necessary, it's disabled by default for a reason and other distros successfully leave it disabled. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=223387 ------- Comment #2 from andreas.hanke@gmx-topmail.de 2006-11-22 18:57 MST ------- For some background information why this is not good at all: http://lists.x.org/archives/xorg-modular/2006-March/000974.html The whole thread, especially this post: http://lists.x.org/archives/xorg-modular/2006-March/000980.html And: https://bugs.freedesktop.org/show_bug.cgi?id=7054 https://launchpad.net/distros/ubuntu/+source/poppler/+bug/24970 I _strongly_ recommend removing --enable-indirect-deps from the pkg-config setup for future products. It might break a few packages (broken ones, because they must work without this), so: Do it ASAP, see what breaks, and fix it properly. It's certainly doable, given that Fedora never enabled it and Mandriva managed to get rid of it. Right now you're explicitly breaking the purpose of Requires.private! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=223387 ------- Comment #3 from andreas.hanke@gmx-topmail.de 2006-11-22 19:19 MST ------- Needless to say that this change would fix evince and gimp-unstable "for free", because they are already doing everything correctly by querying pkg-config for poppler-glib only. The useless -lpoppler comes from pkg-config and would disappear if pkg-config were configured to respect private dependencies. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=223387 ------- Comment #4 from andreas.hanke@gmx-topmail.de 2006-11-22 21:53 MST ------- Found it. --enable-indirect-deps has been added as a workaround for an actual bug in pkg-config that has been fixed since then. Right now, with --enable-direct-deps, the result is: # pkg-config --libs poppler-glib -L/opt/gnome/lib -lpoppler-glib -lpoppler -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lfreetype -lz -lfontconfig -lexpat -lglitz -lm -lpng12 -lXrender -lX11 -lpthread -lXau -lXdmcp This is far too much. With the buggy pkg-config version that caused the workaround to be added, the result would have been: # pkg-config --libs poppler-glib -lpoppler-glib This is far too little. But with current versions of pkg-config and without --enable-indirect-deps, the result is: # pkg-config --libs poppler-glib -L/opt/gnome/lib -lpoppler-glib -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lfreetype -lz -lfontconfig -lglitz -lm -lpng12 -lXrender -lX11 This is exactly right. Conclusion: The workaround should be dropped now because it makes things worse and is no longer necessary. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=223387 ------- Comment #5 from andreas.hanke@gmx-topmail.de 2006-11-22 22:10 MST ------- For the records: The broken version where the workaround has been added was 0.17.2, and the first upstream version where this has been fixed is 0.18. The workaround was necessary at that time because the behaviour was obviously wrong, but now that pkg-config is fixed, it's just a deviation from upstream defaults that defeats an important feature of pkg-config. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=223387 andreas.hanke@gmx-topmail.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #6 from andreas.hanke@gmx-topmail.de 2007-01-15 07:33 MST ------- This is fixed in Factory: * Di Dez 19 2006 - sbrabec@suse.cz - Disabled indirect deps. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com