Package: gpdf Version: 2.8.2-1.2 Severity: serious Tags: patch gpdf fails to build because it does not forward declare some classes:
> if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../goo -I../lib/ggv-sidebar > -I../fofi -I../splash -DDATADIR=\""/usr/share"\" > -DGNOMELOCALEDIR=\""/usr/share/locale"\" > -DGNOMEICONDIR=\""/usr/share/pixmaps"\" -DXTHREADS -DORBIT2=1 -pthread > -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include > -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 > -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 > -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 > -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 > -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include > -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 > -I/usr/include/gnome-vfs-module-2.0 -I/usr/include/libgnomeprint-2.2 > -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libglade-2.0 > -I/usr/include/libgnomeprint-2.2/libgnomeprint/private -g -Wall -O2 -g > -Wall -O2 -Wall -Wno-unused -Wshadow -Woverloaded-virtual -MT > TextOutputDev.o -MD -MP -MF ".deps/TextOutputDev.Tpo" \ > -c -o TextOutputDev.o `test -f 'TextOutputDev.cc' || echo > './'`TextOutputDev.cc; \ > then mv -f ".deps/TextOutputDev.Tpo" ".deps/TextOutputDev.Po"; \ > else rm -f ".deps/TextOutputDev.Tpo"; exit 1; \ > fi > TextOutputDev.h:172: error: expected `)' before '*' token > TextOutputDev.h:198: error: ISO C++ forbids declaration of 'TextBlock' with > no type > TextOutputDev.h:198: error: expected ';' before '*' token > TextOutputDev.h:229: error: expected `)' before '*' token > TextOutputDev.h:253: error: ISO C++ forbids declaration of 'TextPage' with no > type > TextOutputDev.h:253: error: expected ';' before '*' token > TextOutputDev.h:285: error: expected `)' before '*' token > TextOutputDev.h:299: error: ISO C++ forbids declaration of 'TextPage' with no > type > TextOutputDev.h:299: error: expected ';' before '*' token > TextOutputDev.h:324: error: expected `)' before '*' token > TextOutputDev.h:419: error: 'TextLineFrag' has not been declared > TextOutputDev.cc:480: error: prototype for 'TextLine::TextLine(TextBlock*, > int, double)' does not match any in class 'TextLine' > TextOutputDev.h:169: error: candidates are: TextLine::TextLine(const > TextLine&) > TextOutputDev.h:169: error: TextLine::TextLine() > TextOutputDev.cc: In constructor 'TextLine::TextLine(TextBlock*, int, > double)': > TextOutputDev.cc:481: error: 'blk' was not declared in this scope > TextOutputDev.cc: In member function 'void > TextLineFrag::computeCoords(GBool)': > TextOutputDev.cc:771: error: 'class TextLine' has no member named 'blk' > TextOutputDev.cc:781: error: 'class TextLine' has no member named 'blk' > TextOutputDev.cc:829: error: 'class TextLine' has no member named 'blk' > TextOutputDev.cc: In static member function 'static int > TextLineFrag::cmpYXPrimaryRot(const void*, const void*)': > TextOutputDev.cc:870: error: 'class TextLine' has no member named 'blk' > TextOutputDev.cc: At global scope: > TextOutputDev.cc:961: error: prototype for 'TextBlock::TextBlock(TextPage*, > int)' does not match any in class 'TextBlock' > TextOutputDev.h:226: error: candidates are: TextBlock::TextBlock(const > TextBlock&) > TextOutputDev.h:226: error: TextBlock::TextBlock() > TextOutputDev.cc: In constructor 'TextBlock::TextBlock(TextPage*, int)': > TextOutputDev.cc:962: error: 'page' was not declared in this scope > TextOutputDev.cc: In member function 'void TextBlock::coalesce(UnicodeMap*)': > TextOutputDev.cc:1118: error: new initializer expression list treated as > compound expression > TextOutputDev.cc:1118: error: no matching function for call to > 'TextLine::TextLine(double&)' > TextOutputDev.h:169: note: candidates are: TextLine::TextLine() > TextOutputDev.h:169: note: TextLine::TextLine(const TextLine&) > TextOutputDev.cc: In member function 'void > TextBlock::updatePriMinMax(TextBlock*)': > TextOutputDev.cc:1258: error: 'page' was not declared in this scope > TextOutputDev.cc: In static member function 'static int > TextBlock::cmpXYPrimaryRot(const void*, const void*)': > TextOutputDev.cc:1310: error: 'class TextBlock' has no member named 'page' > TextOutputDev.cc: In static member function 'static int > TextBlock::cmpYXPrimaryRot(const void*, const void*)': > TextOutputDev.cc:1341: error: 'class TextBlock' has no member named 'page' > TextOutputDev.cc: In member function 'GBool TextBlock::isBelow(TextBlock*)': > TextOutputDev.cc:1412: error: 'page' was not declared in this scope > TextOutputDev.cc: At global scope: > TextOutputDev.cc:1438: error: prototype for 'TextFlow::TextFlow(TextPage*, > TextBlock*)' does not match any in class 'TextFlow' > TextOutputDev.h:282: error: candidates are: TextFlow::TextFlow(const > TextFlow&) > TextOutputDev.h:282: error: TextFlow::TextFlow() > TextOutputDev.cc: In constructor 'TextFlow::TextFlow(TextPage*, TextBlock*)': > TextOutputDev.cc:1439: error: 'page' was not declared in this scope > TextOutputDev.cc: In member function 'GBool TextFlow::blockFits(TextBlock*, > TextBlock*)': > TextOutputDev.cc:1490: error: 'page' was not declared in this scope > TextOutputDev.cc: At global scope: > TextOutputDev.cc:1513: error: prototype for > 'TextWordList::TextWordList(TextPage*, GBool)' does not match any in class > 'TextWordList' > TextOutputDev.h:317: error: candidates are: TextWordList::TextWordList(const > TextWordList&) > TextOutputDev.h:317: error: TextWordList::TextWordList() > TextOutputDev.cc: In member function 'void TextPage::coalesce(GBool)': > TextOutputDev.cc:2038: error: new initializer expression list treated as > compound expression > TextOutputDev.cc:2038: error: no matching function for call to > 'TextBlock::TextBlock(int&)' > TextOutputDev.h:226: note: candidates are: TextBlock::TextBlock() > TextOutputDev.h:226: note: TextBlock::TextBlock(const > TextBlock&) > TextOutputDev.cc:2523: error: new initializer expression list treated as > compound expression > TextOutputDev.cc:2523: error: no matching function for call to > 'TextFlow::TextFlow(TextBlock*&)' > TextOutputDev.h:282: note: candidates are: TextFlow::TextFlow() > TextOutputDev.h:282: note: TextFlow::TextFlow(const TextFlow&) > TextOutputDev.cc: In member function 'GString* TextPage::getText(double, > double, double, double)': > TextOutputDev.cc:2931: error: no matching function for call to > 'TextPage::assignColumns(TextLineFrag*&, int&, GBool&)' > TextOutputDev.h:419: note: candidates are: void TextPage::assignColumns(int*, > int, int) > TextOutputDev.cc: At global scope: > TextOutputDev.cc:3230: error: prototype for 'void > TextPage::assignColumns(TextLineFrag*, int, GBool)' does not match any in > class 'TextPage' > TextOutputDev.h:419: error: candidate is: void TextPage::assignColumns(int*, > int, int) > TextOutputDev.cc: In member function 'TextWordList* > TextPage::makeWordList(GBool)': > TextOutputDev.cc:3409: error: new initializer expression list treated as > compound expression > TextOutputDev.cc:3409: error: no matching function for call to > 'TextWordList::TextWordList(GBool&)' > TextOutputDev.h:317: note: candidates are: TextWordList::TextWordList() > TextOutputDev.h:317: note: TextWordList::TextWordList(const > TextWordList&) The attached patch adds the necessary forward class declarations. -- Matt
only in patch2:
unchanged:
--- gpdf-2.8.2.orig/xpdf/TextOutputDev.h
+++ gpdf-2.8.2/xpdf/TextOutputDev.h
@@ -166,6 +166,8 @@
// TextLine
//------------------------------------------------------------------------
+class TextBlock;
+
class TextLine {
public:
@@ -223,6 +225,8 @@
// TextBlock
//------------------------------------------------------------------------
+class TextPage;
+
class TextBlock {
public:
@@ -342,6 +346,8 @@
// TextPage
//------------------------------------------------------------------------
+class TextLineFrag;
+
class TextPage {
public:
signature.asc
Description: Digital signature

