Compile error if linking against GTK+ 3 and poppler-glib via pkg-config
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
poppler (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The following test program (test.cpp):
#include <gtkmm.h>
#include <poppler.h>
int main()
{
return 0;
}
compiled with:
g++ -o test test.cpp `pkg-config --cflags --libs gtkmm-3.0 poppler-glib`
gives the error:
In file included from /usr/include/
/usr/include/
/usr/include/
/usr/include/
/usr/include/
Using:
Ubuntu Oneiric 11.10
libgtkmm-3.0-1, libgtkmm-3.0-dev version 3.2.0-0ubuntu1
The same test program compiles just fine with gtkmm-2.4. The equivalent C program linked against gtk+-3.0 also compiles fine.
Moreover, I get no errors with other distributions I tried (Archlinux, openSUSE 12.01), even with gtkmm-3.0
Related branches
description: | updated |
This is just because the current libpoppler-glib-dev depends on libgtk2.0-dev instead of libgtk3.0-dev. It uses GDK in its API, for instance. This would happen to people using GTK+ 3, not just gtkmm 3.
However, GDK is only used by include files when POPPLER_WITH_GDK is defined. POPPLER_WITH_GDK is apparently defined during the poppler build, and I don't think Ubuntu's libpoppler-glib was really built with that defined. So maybe the dependency is unnecessary. Reassigning to libpoppler-glib-dev for investigation there.
If GTK+ (or GDK) really is needed, it would be great if libpoppler was ported to GTK+ 3, but that doesn't seem to have even happened upstream yet.