python-poppler compilation fails with error: ‘POPPLER_TYPE_ORIENTATION’ undeclared (first use in this function)

Bug #1528489 reported by Viktor Yu. Kovalskiy on 2015-12-22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Poppler Python Bindings
python-poppler (Gentoo Linux)
Fix Released

Bug Description

python-poppler-0.12.1 fails to build with poppler-0.39.0 release with error:

poppler.c: In function ‘py_poppler_add_constants’:
poppler.c:4613:67: error: ‘POPPLER_TYPE_ORIENTATION’ undeclared (first use in this function)
   pyg_enum_add(module, "Orientation", strip_prefix, POPPLER_TYPE_ORIENTATION);

It happens after this commit:

Remove enum PopplerOrientation from API:

Download full text (10.3 KiB)

Created attachment 419966

'emerge @world' fails with:
/usr/include/pygtk-2.0 -I/usr/lib64/libffi-3.2.1/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/poppler/glib -I/usr/include/poppler -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/pycairo -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -march=amdfam10 -O2 -pipe -Wall -std=c9x -fno-strict-aliasing -c poppler.c -fPIC -DPIC -o .libs/poppler_la-poppler.o
poppler.c: In function ‘py_poppler_add_constants’:
poppler.c:4613:53: error: ‘POPPLER_TYPE_ORIENTATION’ undeclared (first use in this function)
   pyg_enum_add(module, "Orientation", strip_prefix, POPPLER_TYPE_ORIENTATION);

root@caiman:/usr/local/portage/dev-tex/latex2html(72)# emerge --info '=dev-python/python-poppler-0.12.1-r4::gentoo'
Portage 2.2.26 (python 2.7.11-final-0, default/linux/amd64/13.0, gcc-4.9.3, glibc-2.22-r1, 4.3.3-gentoo x86_64)
                         System Settings
System uname: Linux-4.3.3-gentoo-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.2
KiB Mem: 16177044 total, 6683272 free
KiB Swap: 100663280 total, 100628488 free
Timestamp of repository gentoo: Mon, 21 Dec 2015 03:00:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash: 4.3_p42::gentoo
dev-java/java-config: 2.2.0::gentoo
dev-lang/perl: 5.22.1::gentoo
dev-lang/python: 2.7.11-r1::gentoo, 3.4.3-r6::gentoo, 3.5.1-r1::gentoo
dev-util/cmake: 3.4.1::gentoo
dev-util/pkgconfig: 0.29::gentoo
sys-apps/baselayout: 2.2::gentoo
sys-apps/openrc: 0.19.1::gentoo
sys-apps/sandbox: 2.10-r1::gentoo
sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake: 1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r1::gentoo
sys-devel/binutils: 2.25.1-r1::gentoo
sys-devel/gcc: 4.9.3::gentoo, 5.3.0::gentoo
sys-devel/gcc-config: 1.8::gentoo
sys-devel/libtool: 2.4.6-r1::gentoo
sys-devel/make: 4.1-r1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc: 2.22-r1::gentoo

    location: /usr/portage_caiman
    sync-type: rsync
    sync-uri: rsync://
    priority: -1000

    location: /usr/local/portage
    masters: gentoo
    priority: 0

    location: /var/lib/cpan
    masters: gentoo
    priority: 1

    location: /var/lib/g-octave
    masters: gentoo
    priority: 2

    location: /var/lib/layman/sage-on-gentoo
    masters: gentoo science
    priority: 50

    location: /v...

Seeing the same thing here. Builds fine against poppler-0.38.0 but fails this way with poppler-0.39.0

I report this bug to upstream:

But seems that upstream is inactive for a long time, last commit was 2010-01-10.

Created attachment 420202
Patch to fix incompatibilities with poppler-0.39.0 API changes

Patch to ebuild for using patch from comment#3

--- python-poppler-0.12.1-r4.ebuild 2015-12-22 16:43:17.000000000 +0600
+++ python-poppler-0.12.1-r4.ebuild 2015-12-22 16:38:45.000000000 +0600
@@ -32,4 +32,5 @@
+ "${FILESDIR}"/${P}-poppler-0.39.0-changes.patch

Proposed patch for fixing incompatibilities with poppler-0.39.0

Created attachment 420328
An ebuild using the patch of Comment 3

The patching fails.

Changed in python-poppler (Gentoo Linux):
importance: Unknown → Medium

I tried to use the patch of comment 3 with the ebuild of comment 5. But the patching failed with:

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] dev-python/python-poppler-0.12.1-r4::local [0.12.1-r4::gentoo] USE="examples" PYTHON_TARGETS="python2_7" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) dev-python/python-poppler-0.12.1-r4::local
 * pypoppler-0.12.1.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking pypoppler-0.12.1.tar.gz to /var/tmp/portage/dev-python/python-poppler-0.12.1-r4/work
>>> Source unpacked in /var/tmp/portage/dev-python/python-poppler-0.12.1-r4/work
>>> Preparing source in /var/tmp/portage/dev-python/python-poppler-0.12.1-r4/work/pypoppler-0.12.1 ...
 * Applying python-poppler-0.12.1-75_74.diff ... [ ok ]
 * Applying python-poppler-0.12.1-79_78.diff ... [ ok ]
 * Applying python-poppler-0.12.1-poppler0.15.0-changes.patch ... [ ok ]
 * Applying python-poppler-0.12.1-poppler-0.18.0-minimal-fix.patch ... [ ok ]
 * Applying python-poppler-0.12.1-poppler0.18.0-changes.patch ...

 * Failed Patch: python-poppler-0.12.1-poppler0.18.0-changes.patch !
 * ( /usr/local/portage/dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.18.0-changes.patch )
 * Include in your bugreport the contents of:
 * /var/tmp/portage/dev-python/python-poppler-0.12.1-r4/temp/python-poppler-0.12.1-poppler0.18.0-changes.patch.out

Created attachment 420330

Comment on attachment 420328
An ebuild using the patch of Comment 3

Sorry, this is not the right ebuild.

Created attachment 420342
A python-poppler-012.1-r4.ebuild, which seems to work.

Thank you Victor, your patch seems to work with ebuild of comment 9 seems to work.

commit 6fbcb03b918df48f33d24326640209de3d031074
Author: Justin Lecher <email address hidden>
Date: Fri Dec 25 13:24:15 2015 +0100

    dev-python/python-poppler: Add fixes for poppler-0.39.0


    Package-Manager: portage-2.2.26
    Signed-off-by: Justin Lecher <email address hidden>

Changed in python-poppler (Gentoo Linux):
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.