Summary: | app-text/xpdf-3.02-r1 FTBFS with app-text/poppler-0.10.0 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Peter Alfredsen (RETIRED) <loki_val> |
Component: | Current packages | Assignee: | Printing Team <printing> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | cbm, chad.simmons, jesse, jrmalaq, Martin.vGagern, patrizio.bassi, pqGungnir, proteuss, rose, Sergiy.Borodych, transacid, yamadharma |
Priority: | High | ||
Version: | 2008.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Patch replacing LinkAction::getFileSpecName with getFileSpecNameForPlatform
Patch replacing LinkAction::getFileSpecName with getFileSpecNameForPlatform |
Description
Peter Alfredsen (RETIRED)
2008-09-30 21:27:49 UTC
Same here... I think (what is a FTBFS?). Some more information: The problem has happened after a system update: xpdf needs to be rebuilt (together with gimp and inkscape) and when trying, some preprocessor and then compiling fatal errors happen: # equery list poppler [I--] [ ~] app-text/poppler-0.9.2 (0) [I--] [ ~] app-text/poppler-bindings-0.9.2 (0) # equery list xpdf [I--] [ ] app-text/xpdf-3.02-r1 (0) # equery uses xpdf [ Found these USE variables for app-text/xpdf-3.02-r1 ] U I - - linguas_ar : <unknown> - - linguas_el : <unknown> - - linguas_he : <unknown> - - linguas_ja : <unknown> - - linguas_ko : <unknown> - - linguas_la : <unknown> - - linguas_ru : <unknown> - - linguas_th : <unknown> - - linguas_tr : <unknown> - - linguas_zh_CN : <unknown> - - linguas_zh_TW : <unknown> - - nodrm : Disable the drm feature decoder # equery uses poppler [ Found these USE variables for app-text/poppler-0.9.2 ] U I - - cjk : Adds support for Multi-byte character languages (Chinese, Japanese, Korean) + + doc : Adds extra documentation (API, Javadoc, etc) + + jpeg : Adds JPEG image support + + zlib : Adds support for zlib (de)compression # revdep-rebuild [...] * Checking dynamic linking consistency [ 11% ] * broken /usr/bin/inkscape (requires libpoppler-glib.so.3 libpoppler.so.3) * broken /usr/bin/inkview (requires libpoppler-glib.so.3 libpoppler.so.3) [ 24% ] * broken /usr/bin/xpdf (requires libpoppler.so.3) [ 55% ] * broken /usr/lib64/gimp/2.0/plug-ins/poppler (requires libpoppler-glib.so.3 libpoppler.so.3) [...] g++ -march=nocona -O2 -pipe -I/usr/include/poppler -I/usr/include/poppler/goo -I/usr/include/poppler/splash -DHAVE_DIRENT_H -c -o ImageOutputDev.o ImageOutputDev.cc In file included from ImageOutputDev.cc:20: config.h:31:1: warning: "xpdfCopyright" redefined In file included from ImageOutputDev.cc:9: /usr/include/poppler/poppler-config.h:52:1: warning: this is the location of the previous definition g++ -march=nocona -O2 -pipe -I/usr/include/poppler -I/usr/include/poppler/goo -I/usr/include/poppler/splash -DHAVE_DIRENT_H -c -o PDFCore.o PDFCore.cc In file included from GlobalParams.h:16, from PDFCore.cc:18: config.h:31:1: warning: "xpdfCopyright" redefined In file included from PDFCore.cc:9: /usr/include/poppler/poppler-config.h:52:1: warning: this is the location of the previous definition g++ -march=nocona -O2 -pipe -I/usr/include/poppler -I/usr/include/poppler/goo -I/usr/include/poppler/splash -DHAVE_DIRENT_H -c -o XPDFApp.o XPDFApp.cc In file included from XPDFApp.cc:20: config.h:31:1: warning: "xpdfCopyright" redefined In file included from XPDFApp.cc:9: /usr/include/poppler/poppler-config.h:52:1: warning: this is the location of the previous definition g++ -march=nocona -O2 -pipe -I/usr/include/poppler -I/usr/include/poppler/goo -I/usr/include/poppler/splash -DHAVE_DIRENT_H -c -o XPDFCore.o XPDFCore.cc In file included from GlobalParams.h:16, from XPDFCore.cc:22: config.h:31:1: warning: "xpdfCopyright" redefined In file included from XPDFCore.cc:9: /usr/include/poppler/poppler-config.h:52:1: warning: this is the location of the previous definition XPDFCore.cc: In member function 'void XPDFCore::doAction(LinkAction*)': XPDFCore.cc:634: error: 'getFileSpecName' is not a member of 'LinkAction' make: *** [XPDFCore.o] Error 1 (In reply to comment #1) > Same here... I think (what is a FTBFS?). Fails To Build From Scratch? Same problem here. After updating to: app-text/poppler-0.10.0 and emerge @preserved-rebuild xpdf fails to compile with the same error as in comment #1 (on 3 different machines). (~x86) I can supply emerge --info if required. Poppler upstream has simply broken API again (as they tend to do on such releases). xpdf needs simply a patch for new api. *** Bug 241792 has been marked as a duplicate of this bug. *** http://cgit.freedesktop.org/poppler/poppler/commit/?id=996d2e176057e22acbc374cff7a712ce6fd92d93 turned getFileSpecName from a static class function in Link.h into a global function in the newly added FileSpec.h. It seems that none of the installed headers includes this one, so an application using that function would have to do so itself. A likely solution would be to have configure check for FileSpec.h, and if it is present, have XPDFCore.cc include it and use the new global function instead of the local one. I'll try to see whether I can turn this into a patch. Created attachment 168468 [details, diff] Patch replacing LinkAction::getFileSpecName with getFileSpecNameForPlatform Been a bit rash in comment #6 because 1. there is no configure script for xpdf 2. getFileSpecNameForPlatform seems to be the closest replacement for LinkAction::getFileSpecName, getFileSpecName looks quite different 3. even getFileSpecNameForPlatform has a different signature 4. a redefinition of xpdfCopyright in config.h also causes a compiler error Problem 1. I'll leave to ebuild writers to resolve in whatever way they see fit, be it checking for theinstalled poppler package or for the FileSpec.h header file. The attached patch attempts to solve 2. through 4. It copies some code from http://cgit.freedesktop.org/poppler/poppler/diff/?id=49b3e4560f62a9a7db350d94d50e229f5e1208bf but that's no guarantee for correctness, only an educated guess. So if anybody has a PDF file referencing an external Movie, please test this code. Created attachment 168472 [details, diff]
Patch replacing LinkAction::getFileSpecName with getFileSpecNameForPlatform
Had a line left over from a previous attempt, sorry. That would have introduced a minor memory leak, which this one here should avoid.
+ 14 Oct 2008; Peter Alfredsen <loki_val@gentoo.org> + -files/poppler-0.5.9.patch, +files/poppler-0.10.0.patch, + -files/xpdf-3.01-poppler-0.5.1.patch, + -files/xpdf-3.01-poppler-nodrm.patch, -xpdf-3.01-r8.ebuild, + xpdf-3.02-r1.ebuild: + Fix compatibility with poppler-0.10.0, bug #239195. Thanks to Martin von + Gagern <Martin.vGagern@gmx.net> for providing the patch. Also clean out + old ebuilds and patches. + Excellent work! Thank you very much. |