Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 239195 - app-text/xpdf-3.02-r1 FTBFS with app-text/poppler-0.10.0
Summary: app-text/xpdf-3.02-r1 FTBFS with app-text/poppler-0.10.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Printing Team
URL:
Whiteboard:
Keywords:
: 241792 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-09-30 21:27 UTC by Peter Alfredsen (RETIRED)
Modified: 2009-04-05 06:00 UTC (History)
12 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch replacing LinkAction::getFileSpecName with getFileSpecNameForPlatform (bug239195b.patch,1.58 KB, patch)
2008-10-14 19:24 UTC, Martin von Gagern
Details | Diff
Patch replacing LinkAction::getFileSpecName with getFileSpecNameForPlatform (bug239195c.patch,1.55 KB, patch)
2008-10-14 19:30 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Alfredsen (RETIRED) gentoo-dev 2008-09-30 21:27:49 UTC
XPDFCore.cc:559: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:570: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:600: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:607: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:620: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:620: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:632: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:633: warning: deprecated conversion from string constant to 'char*'
XPDFCore.cc:634: error: 'getFileSpecName' is not a member of 'LinkAction'
XPDFCore.cc:656: warning: deprecated conversion from string constant to 'char*'
Comment 1 Hamlet 2008-10-01 16:48:00 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
Comment 2 Jeffrey Gardner (RETIRED) gentoo-dev 2008-10-05 23:15:29 UTC
(In reply to comment #1)
> Same here... I think (what is a FTBFS?).

Fails To Build From Scratch?
Comment 3 Andreas Proteus 2008-10-13 14:37:13 UTC
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.
Comment 4 Rafał Mużyło 2008-10-13 15:04:43 UTC
Poppler upstream has simply broken API again (as they tend to do
on such releases).
xpdf needs simply a patch for new api.
Comment 5 Peter Alfredsen (RETIRED) gentoo-dev 2008-10-13 20:07:41 UTC
*** Bug 241792 has been marked as a duplicate of this bug. ***
Comment 6 Martin von Gagern 2008-10-14 17:56:08 UTC
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.
Comment 7 Martin von Gagern 2008-10-14 19:24:06 UTC
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.
Comment 8 Martin von Gagern 2008-10-14 19:30:19 UTC
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.
Comment 9 Peter Alfredsen (RETIRED) gentoo-dev 2008-10-14 21:12:28 UTC
+  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.
+
Comment 10 Andreas Proteus 2008-10-14 22:32:47 UTC
Excellent work!

Thank you very much.