Red Hat Bugzilla – Bug 822412
python-poppler-qt4 doesn't build with poppler-0.20.0
Last modified: 2013-03-26 12:43:02 EDT
Description of problem:
python-poppler-qt4 fails when built with new poppler-0.20.0.
Version-Release number of selected component (if applicable):
I don't see any build attempts in koji.
I assume this conclusion was based on some private or scratch build(s)?
Here's a scratch build so we have some logs to go from:
first failure appears to be some api change :
build/temp.linux-x86_64-2.7/sippopplerqt4QLinkedList0100PopplerAnnotationRevision.cpp: In function 'void assign_QLinkedList_0100Poppler_Annotation_Revision(void*, Py_ssize_t, const void*)':
build/temp.linux-x86_64-2.7/sippopplerqt4QLinkedList0100PopplerAnnotationRevision.cpp:22:34: error: 'Revision' is not a member of 'Poppler::Annotation'
I'm sorry for not providing a patch for this yet. If you'll wait I can create one tomorrow.
Created attachment 585394 [details]
minimal fix of compiling of python-poppler-qt4 with poppler-0.20.0
There were some changes in poppler's API so that some publicly available functions became private (constructors of Annotations and store() functions) and some functions and types were removed.
I placed these parts into %If -- %End sections with proper versions.
This patch doesn't solve other API changes, just those which causes compilation problems.
Thanks for the patch.
I've been able to do a scratch build OK and I'll test it with frescobaldi soon.
ping, it's been awhile, any news? need help?
Was waiting for a formal releaed, but have updated rawhide with Marek's patch.
I downloaded the patch of Marek, but the patch (I assumed I could use "patch" for that) left a setup.py.rej, so it did not go all well.
Not surprising, I still get the same error with the new setup.py:
build/temp.linux-x86_64-2.7/sippopplerqt4QLinkedList0100PopplerAnnotationRevision.cpp: In function ‘void assign_QLinkedList_0100Poppler_Annotation_Revision(void*, Py_ssize_t, const void*)’:
build/temp.linux-x86_64-2.7/sippopplerqt4QLinkedList0100PopplerAnnotationRevision.cpp:22:34: error: ‘Revision’ is not a member of ‘Poppler::Annotation’
I will attach the patched setup.py and ,setup.py.rej.
Created attachment 612978 [details]
setup.py patched with patch of Marek from comment 5
Created attachment 612979 [details]
The rejection file from applying Marek's patch (comment #5) to setup.py
Hi, Jogchum -
I encountered this issue when trying to package python-poppler-qt for TinyCore 4.6 (Linux 3.0.21). Marek's explanation seems to be right in my case - I got this error b/c poppler 0.20+ breaks python-poppler-qt4.
Marek's patch works for me, but took some effort. I have python-poppler-qt4 0.16.2 and patch 2.6.1. Invoking:
patch poppler-annotation.sip /PutMarek'sPatchHere
I got two rejections: one in python-poppler-qt4/setup.py, the other in poppler-qt4.sip.
I patched those two rejections manually and ... voila! python-poppler builds as expected.
Kudos to Marek for the patch. HTH.
Hi Denton (?),
Thanks for your comment!
I'll +1 the kudo's to Marek, but I'm not yet where I want to be with this one.
I managed to do the manual patches on python-poppler-qt4/setup.py and poppler-qt4.sip too, but the error message remains the same.
I have the same version of python-poppler-qt4, but I'm not sure about the version of the patch - I use the one attached by Marek in this bug report, python-poppler-qt4-0.16.2-poppler-0.20.0.patch, in which I cannot find a version number.
I see the problem now. My script for generating of patches removed lines containing poppler-qt4.sip and setup.py. I'm sorry about that. Fortunately, Brendan identified those 2 files correctly and committed fixed patch to fedora's git (see http://pkgs.fedoraproject.org/cgit/python-poppler-qt4.git/diff/python-poppler-qt4-0.16.2-poppler-0.20.0.patch?id=5f2d065642b5f9f52629c4274af19722b0b6acb1).
closing, per comment #14
confirmed python-poppler-qt4-0.16.3 upstream release includes the patch used here already too, so future upgrades shouldn't be a problem either.