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
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Poppler Python Bindings
Undecided
Unassigned
python-poppler (Gentoo Linux)
Fix Released
Medium

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:

http://cgit.freedesktop.org/poppler/poppler/commit/?id=38796894f8ab19c2cd0b996e6b1aa0be98326eac

Download full text (10.3 KiB)

Created attachment 419966
build.log

'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
Repositories:

gentoo
    location: /usr/portage_caiman
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

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

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

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

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

science
    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:

https://bugs.launchpad.net/poppler-python/+bug/1528489

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}-poppler0.15.0-changes.patch
        "${FILESDIR}"/${P}-poppler-0.18.0-minimal-fix.patch
+ "${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
/var/tmp/portage/dev-python/python-poppler-0.12.1-r4/temp/python-poppler-0.12.1-poppler0.18.0-changes.patch.out

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

    Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=568948

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

    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6fbcb03b918df48f33d24326640209de3d031074

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.