* [Printing-architecture] PDF CUPS filter packages
@ 2008-06-03 6:43 TORATANI Yasumasa
2008-06-03 13:06 ` Till Kamppeter
0 siblings, 1 reply; 12+ messages in thread
From: TORATANI Yasumasa @ 2008-06-03 6:43 UTC (permalink / raw)
To: printing-architecture
Hi,
Otani-san has uploaded the PDF filters packages for Ubuntu 7.10,
Fedora 7 and Fedora 8 at;
http://sourceforge.jp/projects/opfc/files/
Ubuntu 7.10
opfc-pdf-filters_0.4-1ubuntu710.tgz
opfc-pdf-filters_0.4-1ubuntu710_i386.deb
Fedora 8
opfc-pdf-filters-0.4-1.fc8.i386.rpm
opfc-pdf-filters-0.4-1.fc8.src.rpm
Fedora7
opfc-pdf-filters-0.4-1.fc7.i386.rpm
opfc-pdf-filters-0.4-1.fc7.src.rpm
-----------------------------------------
TORATANI Yasumasa
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [Printing-architecture] PDF CUPS filter packages 2008-06-03 6:43 [Printing-architecture] PDF CUPS filter packages TORATANI Yasumasa @ 2008-06-03 13:06 ` Till Kamppeter [not found] ` <20080604.105602.104056266.sho@bbr.jp> 0 siblings, 1 reply; 12+ messages in thread From: Till Kamppeter @ 2008-06-03 13:06 UTC (permalink / raw) To: TORATANI Yasumasa, OTANI Koji; +Cc: printing-architecture I have downloaded the Ubuntu package (the .tgz file with the sources) and were not able to rebuild the Ubuntu packages on my up-to-date Hardy system &4-bit PC). After uncompressing the tarball I got the files: opfc-pdf-filters_0.4-1ubuntu710.diff.gz opfc-pdf-filters_0.4-1ubuntu710.dsc opfc-pdf-filters_0.4-1ubuntu710_i386.changes opfc-pdf-filters_0.4.orig.tar.gz I have uncompressed them with dpkg-source -x opfc-pdf-filters_0.4-1ubuntu710.dsc and did a straight rebuild: cd opfc-pdf-filters-0.4 dpkg-buildpackage -rfakeroot and got ----------------------------------------------------------------------------------- make[4]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoopvp/poppler-0.5.4' make[4]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoopvp/poppler-0.5.4' g++ -DHAVE_CONFIG_H -I. -I.. -I../poppler -I.. -I../poppler -I../oprs -I../goo -I../splash -I../fofi -I../opvp/vector-printer -I/usr/include/freetype2 -DCUPS_SERVERROOT=\"/etc/cups\" -Wall -Wno-unused -g -O2 -MT pdftoopvp-pdftoopvp.o -MD -MP -MF .deps/pdftoopvp-pdftoopvp.Tpo -c -o pdftoopvp-pdftoopvp.o `test -f 'pdftoopvp.cc' || echo './'`pdftoopvp.cc pdftoopvp.cc: In function ‘int outOnePage(PDFDoc*, OPVPOutputDev*, int)’: pdftoopvp.cc:347: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:370: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:375: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc: In function ‘int main(int, char**)’: pdftoopvp.cc:431: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:825: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:826: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:842: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:843: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:847: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:848: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:852: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:853: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:857: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:858: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:862: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:863: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:867: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:868: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:872: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:873: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:877: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:878: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:881: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:884: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:887: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:914: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:920: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:924: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:955: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:973: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:980: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:988: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:995: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1002: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1017: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1023: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1066: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1079: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1085: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1099: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc:1106: warning: deprecated conversion from string constant to ‘char*’ pdftoopvp.cc: At global scope: pdftoopvp.cc:1128: error: ‘operator new’ takes type ‘size_t’ (‘long unsigned int’) as first parameter make[3]: *** [pdftoopvp-pdftoopvp.o] Error 1 make[3]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoopvp/poppler-0.5.4/pdftoopvp' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoopvp/poppler-0.5.4' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoopvp/poppler-0.5.4' make: *** [build-stamp] Error 2 dpkg-buildpackage: failure: debian/rules build gave error exit status 2 ----------------------------------------------------------------------------------- Now I have also tried to manually compile pdftopdf: ----------------------------------------------------------------------------------- tar -xvzf poppler-0.6.tar.gz cd poppler-0.6 autoreconf -i ./configure --prefix=/usr --sysconfdir=/etc cd .. tar -xvzf pdftopdf-20080509.tgz cd pdftopdf autoreconf -i ./configure --prefix=/usr --sysconfdir=/etc \ --with-poppler-source=../poppler-0.6 make ----------------------------------------------------------------------------------- This gives the following error ----------------------------------------------------------------------------------- make all-recursive make[1]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf' Making all in src make[2]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf/src' g++ -DHAVE_CONFIG_H -I. -I.. -I../poppler-0.6/poppler -I../poppler-0.6 -DCONFFILE_DIR=\"/etc/cups\" -DPDFTOPDF -I../poppler-0.6/poppler -Wall -Werror -g -O2 -MT pdf2pdf-P2PCatalog.o -MD -MP -MF .deps/pdf2pdf-P2PCatalog.Tpo -c -o pdf2pdf-P2PCatalog.o `test -f 'P2PCatalog.cc' || echo './'`P2PCatalog.cc P2PCatalog.cc:31:22: error: goo/gmem.h: No such file or directory In file included from P2PCatalog.cc:32: P2PCatalog.h:32:24: error: goo/gtypes.h: No such file or directory P2PCatalog.h:34:20: error: Object.h: No such file or directory P2PCatalog.h:35:21: error: Catalog.h: No such file or directory In file included from P2PObject.h:33, from P2PCatalog.h:36, from P2PCatalog.cc:32: P2PXRef.h:33:18: error: XRef.h: No such file or directory In file included from P2PObject.h:35, from P2PCatalog.h:36, from P2PCatalog.cc:32: P2POutput.h:35:18: error: Dict.h: No such file or directory P2POutput.h:36:20: error: Stream.h: No such file or directory P2POutput.h:37:19: error: Array.h: No such file or directory P2POutput.h:38:18: error: Page.h: No such file or directory In file included from P2PCatalog.h:36, from P2PCatalog.cc:32: P2PObject.h:36:19: error: Error.h: No such file or directory In file included from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PDoc.h:32:20: error: PDFDoc.h: No such file or directory In file included from P2PResources.h:38, from P2PPage.h:39, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PPattern.h:35:22: error: GfxState.h: No such file or directory In file included from P2PResources.h:39, from P2PPage.h:39, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: UGooString.h:14:23: error: CharTypes.h: No such file or directory In file included from P2PPage.h:40, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PFont.h:33:21: error: GfxFont.h: No such file or directory In file included from P2PFont.h:39, from P2PPage.h:40, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PCMap.h:17:28: error: poppler-config.h: No such file or directory In file included from P2PObject.h:32, from P2PCatalog.h:36, from P2PCatalog.cc:32: P2POutputStream.h:52: error: ‘GBool’ does not name a type P2POutputStream.h:67: error: ‘GBool’ does not name a type In file included from P2PObject.h:33, from P2PCatalog.h:36, from P2PCatalog.cc:32: P2PXRef.h:56: error: ‘XRef’ has not been declared In file included from P2PObject.h:35, from P2PCatalog.h:36, from P2PCatalog.cc:32: P2POutput.h:44: error: variable or field ‘outputDict’ declared void P2POutput.h:44: error: ‘Dict’ was not declared in this scope P2POutput.h:44: error: ‘dict’ was not declared in this scope P2POutput.h:44: error: expected primary-expression before ‘char’ P2POutput.h:45: error: expected primary-expression before ‘*’ token P2POutput.h:45: error: ‘objs’ was not declared in this scope P2POutput.h:45: error: expected primary-expression before ‘int’ P2POutput.h:45: error: expected primary-expression before ‘*’ token P2POutput.h:45: error: ‘str’ was not declared in this scope P2POutput.h:45: error: ‘XRef’ was not declared in this scope P2POutput.h:45: error: ‘xref’ was not declared in this scope P2POutput.h:46: error: variable or field ‘outputDict’ declared void P2POutput.h:46: error: ‘Dict’ was not declared in this scope P2POutput.h:46: error: ‘dict’ was not declared in this scope P2POutput.h:46: error: expected primary-expression before ‘*’ token P2POutput.h:46: error: ‘str’ was not declared in this scope P2POutput.h:46: error: ‘XRef’ was not declared in this scope P2POutput.h:46: error: ‘xref’ was not declared in this scope P2POutput.h:47: error: variable or field ‘outputArray’ declared void P2POutput.h:47: error: ‘Array’ was not declared in this scope P2POutput.h:47: error: ‘array’ was not declared in this scope P2POutput.h:47: error: expected primary-expression before ‘*’ token P2POutput.h:47: error: ‘str’ was not declared in this scope P2POutput.h:47: error: ‘XRef’ was not declared in this scope P2POutput.h:47: error: ‘xref’ was not declared in this scope P2POutput.h:47: error: ‘Dict’ was not declared in this scope P2POutput.h:47: error: ‘mapDict’ was not declared in this scope P2POutput.h:48: error: variable or field ‘outputStream’ declared void P2POutput.h:48: error: ‘Stream’ was not declared in this scope P2POutput.h:48: error: ‘stream’ was not declared in this scope P2POutput.h:48: error: expected primary-expression before ‘*’ token P2POutput.h:48: error: ‘str’ was not declared in this scope P2POutput.h:48: error: ‘XRef’ was not declared in this scope P2POutput.h:48: error: ‘xref’ was not declared in this scope P2POutput.h:49: error: variable or field ‘outputRef’ declared void P2POutput.h:49: error: ‘Ref’ was not declared in this scope P2POutput.h:49: error: ‘ref’ was not declared in this scope P2POutput.h:49: error: expected primary-expression before ‘*’ token P2POutput.h:49: error: ‘str’ was not declared in this scope P2POutput.h:49: error: ‘XRef’ was not declared in this scope P2POutput.h:49: error: ‘xref’ was not declared in this scope P2POutput.h:51: error: ‘Dict’ has not been declared P2POutput.h:52: error: variable or field ‘outputObject’ declared void P2POutput.h:52: error: ‘Object’ was not declared in this scope P2POutput.h:52: error: ‘obj’ was not declared in this scope P2POutput.h:52: error: expected primary-expression before ‘*’ token P2POutput.h:52: error: ‘str’ was not declared in this scope P2POutput.h:52: error: ‘XRef’ was not declared in this scope P2POutput.h:52: error: ‘xref’ was not declared in this scope P2POutput.h:52: error: ‘Dict’ was not declared in this scope P2POutput.h:52: error: ‘mapDict’ was not declared in this scope In file included from P2PCatalog.h:36, from P2PCatalog.cc:32: P2PObject.h:95: error: ‘XRef’ has not been declared P2PObject.h:99: error: ‘GBool’ does not name a type P2PObject.h:100: error: ‘GBool’ has not been declared P2PObject.h:128: error: ‘GBool’ does not name a type P2PObject.h: In constructor ‘P2PObject::P2PObject()’: P2PObject.h:51: error: ‘secondPhase’ was not declared in this scope P2PObject.h:51: error: ‘gFalse’ was not declared in this scope P2PObject.h: In constructor ‘P2PObject::P2PObject(int, int)’: P2PObject.h:61: error: ‘secondPhase’ was not declared in this scope P2PObject.h:61: error: ‘gFalse’ was not declared in this scope P2PObject.h: In member function ‘virtual void P2PObject::output(P2POutputStream*, int*)’: P2PObject.h:96: error: ‘error’ was not declared in this scope P2PObject.h: In member function ‘void P2PObject::setSecondPhase(int)’: P2PObject.h:100: error: ‘secondPhase’ was not declared in this scope P2PObject.h: At global scope: P2PObject.h:134: error: expected `)' before ‘*’ token P2PObject.h:142: error: ‘XRef’ has not been declared P2PObject.h:153: error: ‘Object’ has not been declared P2PObject.h:157: error: ISO C++ forbids declaration of ‘Object’ with no type P2PObject.h:157: error: expected ‘;’ before ‘*’ token P2PObject.h:161: error: expected `;' before ‘private’ P2PObject.h:162: error: ‘Object’ does not name a type P2PObject.h: In destructor ‘virtual P2PObj::~P2PObj()’: P2PObject.h:139: error: ‘obj’ was not declared in this scope P2PObject.h: In member function ‘virtual void P2PObj::output(P2POutputStream*, int*)’: P2PObject.h:148: error: ‘outputObject’ is not a member of ‘P2POutput’ P2PObject.h:148: error: ‘obj’ was not declared in this scope P2PObject.h: In member function ‘void P2PObj::setObj(int*)’: P2PObject.h:154: error: ‘obj’ was not declared in this scope P2PObject.h:155: error: request for member ‘copy’ in ‘* objA’, which is of non-class type ‘int’ cc1plus: warnings being treated as errors In file included from P2PPage.h:38, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PMatrix.h: In member function ‘void P2PMatrix::output(P2POutputStream*)’: P2PMatrix.h:49: warning: deprecated conversion from string constant to ‘char*’ In file included from P2PResources.h:38, from P2PPage.h:39, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PPattern.h: At global scope: P2PPattern.h:44: error: expected `)' before ‘*’ token P2PPattern.h:46: error: ‘XRef’ has not been declared P2PPattern.h:49: error: ‘XRef’ has not been declared P2PPattern.h:50: error: expected `)' before ‘*’ token P2PPattern.h:54: error: ISO C++ forbids declaration of ‘GfxPattern’ with no type P2PPattern.h:54: error: expected ‘;’ before ‘*’ token P2PPattern.h:55: error: expected `;' before ‘Object’ P2PPattern.h:55: error: ISO C++ forbids declaration of ‘Object’ with no type P2PPattern.h:55: error: expected ‘;’ before ‘*’ token P2PPattern.h:56: error: expected `;' before ‘private’ P2PPattern.h:57: error: ISO C++ forbids declaration of ‘GfxPattern’ with no type P2PPattern.h:57: error: expected ‘;’ before ‘*’ token P2PPattern.h:59: error: ‘Object’ does not name a type P2PPattern.h:62: error: ‘GfxPattern’ has not been declared P2PPattern.h:63: error: ‘XRef’ has not been declared P2PPattern.h:64: error: ‘GfxPattern’ has not been declared P2PPattern.h:65: error: ‘Object’ has not been declared P2PPattern.h:65: error: ‘XRef’ has not been declared In file included from P2PResources.h:39, from P2PPage.h:39, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: UGooString.h:22: error: expected `)' before ‘*’ token UGooString.h:43: error: ISO C++ forbids declaration of ‘Unicode’ with no type UGooString.h:43: error: expected ‘;’ before ‘*’ token UGooString.h:46: error: expected `;' before ‘char’ UGooString.h:52: error: ISO C++ forbids declaration of ‘Unicode’ with no type UGooString.h:52: error: expected ‘;’ before ‘*’ token In file included from P2PPage.h:39, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PResources.h:56: error: expected `)' before ‘*’ token P2PResources.h:60: error: expected ‘;’ before ‘(’ token P2PResources.h:62: error: ISO C++ forbids declaration of ‘Dict’ with no type P2PResources.h:62: error: expected ‘;’ before ‘*’ token P2PResources.h:65: error: expected `;' before ‘Dict’ P2PResources.h:65: error: ISO C++ forbids declaration of ‘Dict’ with no type P2PResources.h:65: error: expected ‘;’ before ‘*’ token P2PResources.h:68: error: expected `;' before ‘void’ P2PResources.h:85: error: ISO C++ forbids declaration of ‘XRef’ with no type P2PResources.h:85: error: expected ‘;’ before ‘*’ token P2PResources.h:86: error: ISO C++ forbids declaration of ‘Dict’ with no type P2PResources.h:86: error: expected ‘;’ before ‘*’ token P2PResources.h:91: error: ‘Dict’ has not been declared P2PResources.h:91: error: ‘Dict’ has not been declared P2PResources.h:91: error: ‘Dict’ has not been declared P2PResources.h:91: error: ‘GBool’ has not been declared P2PResources.h:95: error: ‘Dict’ has not been declared P2PResources.h:95: error: ‘Object’ has not been declared P2PResources.h:95: error: ‘Dict’ has not been declared P2PResources.h:100: error: ‘Dict’ has not been declared P2PResources.h:110: error: ISO C++ forbids declaration of ‘Dict’ with no type P2PResources.h:110: error: expected ‘;’ before ‘*’ token In file included from P2PFont.h:39, from P2PPage.h:40, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PCMap.h:49: error: ‘GBool’ does not name a type P2PCMap.h:54: error: ‘CID’ does not name a type P2PCMap.h:59: error: ‘Guint’ has not been declared P2PCMap.h:59: error: ‘Guint’ has not been declared P2PCMap.h:59: error: ‘Guint’ has not been declared P2PCMap.h:67: error: ‘Guint’ has not been declared P2PCMap.h:67: error: ‘Guint’ has not been declared P2PCMap.h:68: error: ‘Guint’ has not been declared P2PCMap.h:69: error: ‘Guint’ has not been declared P2PCMap.h:69: error: ‘Guint’ has not been declared P2PCMap.h:69: error: ‘Guint’ has not been declared P2PCMap.h:69: error: ‘CID’ has not been declared P2PCMap.h:71: error: ‘Guint’ has not been declared P2PCMap.h:72: error: ‘Guint’ has not been declared P2PCMap.h:72: error: ‘Guint’ has not been declared P2PCMap.h:72: error: ‘Guint’ has not been declared In file included from P2PPage.h:40, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PFont.h:47: error: ‘GfxFont’ has not been declared P2PFont.h:47: error: ‘GfxFontType’ has not been declared P2PFont.h:51: error: ‘XRef’ has not been declared P2PFont.h:52: error: ‘GBool’ has not been declared P2PFont.h:52: error: ‘XRef’ has not been declared P2PFont.h:53: error: ‘GBool’ does not name a type P2PFont.h:54: error: expected ‘;’ before ‘(’ token P2PFont.h:55: error: ‘CharCode’ has not been declared P2PFont.h:64: error: ‘GfxFont’ has not been declared P2PFont.h:65: error: ‘GfxFontType’ has not been declared P2PFont.h:72: error: ISO C++ forbids declaration of ‘GfxFont’ with no type P2PFont.h:72: error: expected ‘;’ before ‘*’ token P2PFont.h:74: error: ‘GfxFontType’ does not name a type P2PFont.h:78: error: ‘CharCode’ does not name a type P2PFont.h: In member function ‘void P2PFontFile::refChar(int)’: P2PFont.h:57: error: ‘maxRefCID’ was not declared in this scope P2PFont.h: At global scope: P2PFont.h:86: error: ‘GBool’ has not been declared P2PFont.h:88: error: ‘XRef’ has not been declared P2PFont.h:91: error: ‘GBool’ does not name a type P2PFont.h:96: error: expected `)' before ‘*’ token P2PFont.h:100: error: ‘XRef’ has not been declared P2PFont.h:102: error: ‘GfxFontType’ does not name a type P2PFont.h:105: error: ‘Object’ does not name a type P2PFont.h:106: error: ‘GfxFontType’ does not name a type P2PFont.h:111: error: expected `)' before ‘*’ token P2PFont.h:115: error: ‘XRef’ has not been declared P2PFont.h:118: error: ‘Object’ does not name a type P2PFont.h:119: error: ‘GfxFontType’ does not name a type P2PFont.h:120: error: ‘GfxFontType’ does not name a type P2PFont.h:122: error: ISO C++ forbids declaration of ‘GfxFont’ with no type P2PFont.h:122: error: expected ‘;’ before ‘*’ token P2PFont.h:129: error: ‘XRef’ has not been declared P2PFont.h:136: error: expected `)' before ‘*’ token P2PFont.h:138: error: ‘XRef’ has not been declared P2PFont.h:143: error: ‘Object’ has not been declared P2PFont.h:143: error: ‘GfxFontType’ has not been declared P2PFont.h:144: error: ‘XRef’ has not been declared P2PFont.h:145: error: ‘GfxFontType’ has not been declared P2PFont.h:146: error: ‘XRef’ has not been declared P2PFont.h:147: error: ‘GfxFontType’ has not been declared P2PFont.h:148: error: ‘XRef’ has not been declared P2PFont.h:150: error: ISO C++ forbids declaration of ‘GfxFont’ with no type P2PFont.h:150: error: expected ‘;’ before ‘*’ token P2PFont.h:151: error: ‘Object’ does not name a type P2PFont.h:152: error: ‘GfxFontType’ does not name a type P2PFont.h:158: error: ‘XRef’ has not been declared P2PFont.h:159: error: ‘Dict’ has not been declared P2PFont.h:159: error: ‘XRef’ has not been declared P2PFont.h:164: error: ‘XRef’ has not been declared P2PFont.h:168: error: ‘Dict’ has not been declared P2PFont.h:168: error: ‘XRef’ has not been declared P2PFont.h:169: error: ‘Dict’ has not been declared P2PFont.h:169: error: ‘XRef’ has not been declared In file included from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PPage.h:46: error: expected `)' before ‘*’ token P2PPage.h:48: error: expected `)' before ‘*’ token P2PPage.h:50: error: ‘PDFRectangle’ has not been declared P2PPage.h:51: error: ‘XRef’ has not been declared P2PPage.h:58: error: ‘PDFRectangle’ has not been declared P2PPage.h:61: error: ‘PDFRectangle’ has not been declared P2PPage.h:63: error: ISO C++ forbids declaration of ‘PDFRectangle’ with no type P2PPage.h:63: error: expected ‘;’ before ‘*’ token P2PPage.h:64: error: expected `;' before ‘private’ P2PPage.h:66: error: ISO C++ forbids declaration of ‘Page’ with no type P2PPage.h:66: error: expected ‘;’ before ‘*’ token P2PPage.h:69: error: ‘GBool’ does not name a type P2PPage.h:70: error: ‘PDFRectangle’ does not name a type P2PPage.h:72: error: ‘GBool’ does not name a type P2PPage.h:74: error: ‘PDFRectangle’ has not been declared P2PPage.h:74: error: ‘PDFRectangle’ has not been declared P2PPage.h:75: error: ‘PDFRectangle’ has not been declared P2PPage.h:77: error: ‘PDFRectangle’ has not been declared P2PPage.h:77: error: ‘PDFRectangle’ has not been declared P2PPage.h:78: error: ‘PDFRectangle’ has not been declared P2PPage.h:78: error: ‘PDFRectangle’ has not been declared P2PPage.h:79: error: ‘PDFRectangle’ has not been declared P2PPage.h:80: error: ‘PDFRectangle’ has not been declared P2PPage.h:91: error: ‘PDFRectangle’ does not name a type P2PPage.h:92: error: ‘PDFRectangle’ does not name a type P2PPage.h:93: error: ‘GBool’ does not name a type P2PPage.h:94: error: ‘PDFRectangle’ does not name a type P2PPage.h:95: error: ‘PDFRectangle’ does not name a type P2PPage.h:96: error: ‘PDFRectangle’ does not name a type P2PPage.h:98: error: ISO C++ forbids declaration of ‘XRef’ with no type P2PPage.h:98: error: expected ‘;’ before ‘*’ token P2PPage.h:103: error: ‘PDFRectangle’ has not been declared P2PPage.h:104: error: ‘PDFRectangle’ has not been declared P2PPage.h:106: error: ‘PDFRectangle’ has not been declared P2PPage.h:107: error: ‘GBool’ does not name a type P2PPage.h:112: error: ‘PDFRectangle’ has not been declared P2PPage.h:113: error: ‘PDFRectangle’ has not been declared In file included from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PDoc.h:82: error: ‘GBool’ does not name a type P2PDoc.h:83: error: ‘GBool’ does not name a type P2PDoc.h:91: error: ‘GBool’ does not name a type P2PDoc.h:92: error: ‘GBool’ does not name a type P2PDoc.h:93: error: ‘GBool’ does not name a type P2PDoc.h:94: error: ‘GBool’ does not name a type P2PDoc.h:95: error: ‘GBool’ does not name a type P2PDoc.h:96: error: ‘GBool’ does not name a type P2PDoc.h:97: error: ‘GBool’ does not name a type P2PDoc.h:104: error: expected `)' before ‘*’ token P2PDoc.h:109: error: ‘PDFRectangle’ has not been declared P2PDoc.h:111: error: ‘PDFRectangle’ has not been declared P2PDoc.h:114: error: ‘PDFRectangle’ has not been declared P2PDoc.h:118: error: ISO C++ forbids declaration of ‘PDFDoc’ with no type P2PDoc.h:118: error: expected ‘;’ before ‘*’ token P2PDoc.h: In constructor ‘P2PDoc::Options::Options()’: P2PDoc.h:60: error: ‘duplex’ was not declared in this scope P2PDoc.h:60: error: ‘gFalse’ was not declared in this scope P2PDoc.h:62: error: ‘collate’ was not declared in this scope P2PDoc.h:69: error: ‘reverse’ was not declared in this scope P2PDoc.h:70: error: ‘even’ was not declared in this scope P2PDoc.h:71: error: ‘contentsCompress’ was not declared in this scope P2PDoc.h:72: error: ‘fontEmbedding’ was not declared in this scope P2PDoc.h:73: error: ‘fontEmbeddingWhole’ was not declared in this scope P2PDoc.h:74: error: ‘fontCompress’ was not declared in this scope P2PDoc.h:77: error: ‘fontEmbeddingPreLoad’ was not declared in this scope In file included from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PPageTree.h: At global scope: P2PPageTree.h:46: error: expected `)' before ‘*’ token P2PPageTree.h:49: error: ‘GBool’ has not been declared P2PPageTree.h:50: error: ‘PDFRectangle’ has not been declared P2PPageTree.h:52: error: ‘PDFRectangle’ has not been declared P2PPageTree.h:55: error: ‘PDFRectangle’ has not been declared P2PPageTree.h:61: error: ISO C++ forbids declaration of ‘XRef’ with no type P2PPageTree.h:61: error: expected ‘;’ before ‘*’ token P2PPageTree.h:65: error: ‘GBool’ does not name a type In file included from P2PCatalog.cc:32: P2PCatalog.h:45: error: expected `)' before ‘*’ token P2PCatalog.h:48: error: ‘GBool’ has not been declared P2PCatalog.h:49: error: ‘PDFRectangle’ has not been declared P2PCatalog.h:51: error: ‘PDFRectangle’ has not been declared P2PCatalog.h:54: error: ‘PDFRectangle’ has not been declared P2PCatalog.h:58: error: ISO C++ forbids declaration of ‘XRef’ with no type P2PCatalog.h:58: error: expected ‘;’ before ‘*’ token P2PCatalog.h:59: error: ISO C++ forbids declaration of ‘Catalog’ with no type P2PCatalog.h:59: error: expected ‘;’ before ‘*’ token P2PCatalog.cc:37: error: expected `)' before ‘*’ token P2PCatalog.cc: In member function ‘void P2PCatalog::outputSelf(P2POutputStream*)’: P2PCatalog.cc:52: warning: deprecated conversion from string constant to ‘char*’ P2PCatalog.cc:55: warning: deprecated conversion from string constant to ‘char*’ P2PCatalog.cc: At global scope: P2PCatalog.cc:59: error: ‘GBool’ has not been declared P2PCatalog.cc:65: error: ‘PDFRectangle’ has not been declared P2PCatalog.cc:71: error: variable or field ‘fit’ declared void P2PCatalog.cc:71: error: ‘PDFRectangle’ was not declared in this scope P2PCatalog.cc:71: error: ‘box’ was not declared in this scope P2PCatalog.cc:71: error: expected primary-expression before ‘double’ P2PCatalog.cc:86: error: variable or field ‘position’ declared void P2PCatalog.cc:86: error: ‘PDFRectangle’ was not declared in this scope P2PCatalog.cc:86: error: ‘box’ was not declared in this scope P2PCatalog.cc:86: error: expected primary-expression before ‘int’ P2PCatalog.cc:86: error: expected primary-expression before ‘int’ make[2]: *** [pdf2pdf-P2PCatalog.o] Error 1 make[2]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf' make: *** [all] Error 2 ----------------------------------------------------------------------------------- This is the result for pdftoraster: ----------------------------------------------------------------------------------- till@till-laptop:~/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoraster$ ./configure --prefix=/usr --sysconfdir=/etc --with-poppler-source=../poppler-0.6 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognize dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 98304 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so (cached) (cached) checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking for an ANSI C-conforming const... yes checking for library containing strerror... none required checking for gcc option to accept ISO C99... -std=gnu99 checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99 checking whether we are using the GNU C++ compiler... (cached) yes checking whether g++ accepts -g... (cached) yes checking dependency style of g++... (cached) gcc3 checking for a BSD-compatible install... /usr/bin/install -c checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking whether gcc -std=gnu99 and cc understand -c and -o together... yes checking for deflate in -lz... yes checking for ppdOpenFile in -lcups... yes checking for cupsRasterInterpretPPD in -lcupsimage... yes checking for main in -lpoppler... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for cups-config... /usr/lib/cups checking for cups-config... /etc/cups configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating conf/Makefile config.status: creating config.h config.status: executing depfiles commands till@till-laptop:~/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoraster$ make make all-recursive make[1]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoraster' Making all in src make[2]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoraster/src' g++ -DHAVE_CONFIG_H -I. -I.. -I../poppler-0.6/poppler -I../poppler-0.6 -DCONFFILE_DIR=\"/etc/cups\" -Wall -Werror -g -O2 -MT pdftoraster-pdftoraster.o -MD -MP -MF .deps/pdftoraster-pdftoraster.Tpo -c -o pdftoraster-pdftoraster.o `test -f 'pdftoraster.cc' || echo './'`pdftoraster.cc pdftoraster.cc:32:27: error: goo/GooString.h: No such file or directory pdftoraster.cc:33:22: error: goo/gmem.h: No such file or directory pdftoraster.cc:34:20: error: Object.h: No such file or directory pdftoraster.cc:35:20: error: Stream.h: No such file or directory pdftoraster.cc:36:20: error: PDFDoc.h: No such file or directory pdftoraster.cc:37:29: error: SplashOutputDev.h: No such file or directory pdftoraster.cc:40:19: error: Error.h: No such file or directory pdftoraster.cc:41:26: error: GlobalParams.h: No such file or directory pdftoraster.cc:43:32: error: splash/SplashTypes.h: No such file or directory pdftoraster.cc:44:33: error: splash/SplashBitmap.h: No such file or directory pdftoraster.cc:56: error: expected initializer before ‘myErrorFun’ cc1plus: warnings being treated as errors pdftoraster.cc:49: warning: ‘<unnamed>::exitCode’ defined but not used pdftoraster.cc:50: warning: ‘<unnamed>::deviceCopies’ defined but not used pdftoraster.cc:51: warning: ‘<unnamed>::deviceCollate’ defined but not used pdftoraster.cc:52: warning: ‘<unnamed>::header2’ defined but not used pdftoraster.cc:53: warning: ‘<unnamed>::header’ defined but not used make[2]: *** [pdftoraster-pdftoraster.o] Error 1 make[2]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoraster/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftoraster' make: *** [all] Error 2 ----------------------------------------------------------------------------------- Manually compiling imagetopdf works without problems. So it seems that there are problems with all Poppler-based programs. In general, programs to be included in distros should not depend on the whole source code of another program. From the other programs you are usually using a library (libpoppler, libcups) and all which you need to compile code using the library are the .h files which are in the -dev packages of the libraries. So make the appropriate -dev packages a build dependency in your debian/control file and you will no need the whole source code. Including the whole source code of another program raises a maintenance problem in distributions. If that other program has a bug, not only the package for that program has to be fixed but also your package. If many packages include the source code of one given program, a lot of packages need to be fixed to get one small bug out of the distro. Also taking a program X, modify it a little bit to obtain a program Y and publishing this is not a good idea, as the source code is still 90% X and so a bug in X also requires fixing Y. Also here you should try to use libraries (like libpoppler). If this is not possible, for example if project X does not make the functionality of the program X available in a library, you should create a patch for the package X, which makes the build process of X create both the programs X or Y (or better let the user choose whether he wants to have X and/or Y) and submit it to the upstream project X. Do you really need the full Poppler (or CUPS) source tree for your Poppler-based (or CUPS-based) filters? Or is it enough to have the header files? For libpoppler you need to install libpoppler-dev and you find them in /usr/include/poppler/ and for CUPS you need to install libcupsys2-dev and libcupsimage2-dev and you find the headers in /usr/include/cups. Running ./configure without "--with-...-source=..." should find the headers automatically. Till TORATANI Yasumasa wrote: > Hi, > > Otani-san has uploaded the PDF filters packages for Ubuntu 7.10, > Fedora 7 and Fedora 8 at; > http://sourceforge.jp/projects/opfc/files/ > > Ubuntu 7.10 > opfc-pdf-filters_0.4-1ubuntu710.tgz > opfc-pdf-filters_0.4-1ubuntu710_i386.deb > > Fedora 8 > opfc-pdf-filters-0.4-1.fc8.i386.rpm > opfc-pdf-filters-0.4-1.fc8.src.rpm > > Fedora7 > opfc-pdf-filters-0.4-1.fc7.i386.rpm > opfc-pdf-filters-0.4-1.fc7.src.rpm > > ----------------------------------------- > TORATANI Yasumasa > > _______________________________________________ > Printing-architecture mailing list > Printing-architecture@lists.linux-foundation.org > https://lists.linux-foundation.org/mailman/listinfo/printing-architecture > ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20080604.105602.104056266.sho@bbr.jp>]
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080604.105602.104056266.sho@bbr.jp> @ 2008-06-04 9:07 ` Till Kamppeter [not found] ` <20080604.181746.02274177.sho@bbr.jp> 0 siblings, 1 reply; 12+ messages in thread From: Till Kamppeter @ 2008-06-04 9:07 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Koji Otani wrote: > Hi Till, > > I'm Koji Otani. > > Thank you for trying PDF filters. > > I'm wondering that error with dpkg-buildpackage is caused by using > the compiler for 64bits. I'll see and fix it. > > Errors with manually compiling are caused by wrong specified > --with-poppler-source option. That's option's value should be > specified with full path. (See INSTALL please) > I have used the full path now and the problem still occurs. See below. Till -------------------------------------------------------------------------- till@till-laptop:~/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf$ autoreconf -i configure.ac:52: installing `./compile' configure.ac:33: installing `./install-sh' configure.ac:33: installing `./missing' src/Makefile.am: installing `./depcomp' till@till-laptop:~/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf$ ./configure --prefix=/usr --sysconfdir=/etc --with-poppler-source=/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6/ checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognize dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 98304 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so (cached) (cached) checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking for an ANSI C-conforming const... yes checking for library containing strerror... none required checking for gcc option to accept ISO C99... -std=gnu99 checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99 checking whether we are using the GNU C++ compiler... (cached) yes checking whether g++ accepts -g... (cached) yes checking dependency style of g++... (cached) gcc3 checking for a BSD-compatible install... /usr/bin/install -c checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking whether gcc -std=gnu99 and cc understand -c and -o together... yes checking for deflate in -lz... yes checking for ppdEmitJCLEnd in -lcups... yes checking for main in -lpoppler... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for cups-config... /usr/lib/cups checking for cups-config... /etc/cups checking UGooString.h usability... no checking UGooString.h presence... no checking for UGooString.h... no configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating conf/Makefile config.status: creating man/Makefile config.status: creating config.h config.status: executing depfiles commands till@till-laptop:~/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf$ make make all-recursive make[1]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf' Making all in src make[2]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf/src' g++ -DHAVE_CONFIG_H -I. -I.. -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6//poppler -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6/ -DCONFFILE_DIR=\"/etc/cups\" -DPDFTOPDF -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6//poppler -Wall -Werror -g -O2 -MT pdf2pdf-P2PCatalog.o -MD -MP -MF .deps/pdf2pdf-P2PCatalog.Tpo -c -o pdf2pdf-P2PCatalog.o `test -f 'P2PCatalog.cc' || echo './'`P2PCatalog.cc cc1plus: warnings being treated as errors In file included from P2PCatalog.h:36, from P2PCatalog.cc:32: P2PObject.h: In member function ‘virtual void P2PObject::output(P2POutputStream*, XRef*)’: P2PObject.h:96: warning: deprecated conversion from string constant to ‘char*’ In file included from P2PPage.h:38, from P2PDoc.h:34, from P2PPageTree.h:38, from P2PCatalog.h:37, from P2PCatalog.cc:32: P2PMatrix.h: In member function ‘void P2PMatrix::output(P2POutputStream*)’: P2PMatrix.h:49: warning: deprecated conversion from string constant to ‘char*’ P2PCatalog.cc: In member function ‘void P2PCatalog::outputSelf(P2POutputStream*)’: P2PCatalog.cc:52: warning: deprecated conversion from string constant to ‘char*’ P2PCatalog.cc:55: warning: deprecated conversion from string constant to ‘char*’ make[2]: *** [pdf2pdf-P2PCatalog.o] Error 1 make[2]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf' make: *** [all] Error 2 till@till-laptop:~/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf$ ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20080604.181746.02274177.sho@bbr.jp>]
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080604.181746.02274177.sho@bbr.jp> @ 2008-06-04 11:59 ` Till Kamppeter 2008-06-04 23:16 ` Olaf Meeuwissen [not found] ` <20080605.153828.28801505.sho@bbr.jp> 0 siblings, 2 replies; 12+ messages in thread From: Till Kamppeter @ 2008-06-04 11:59 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Thank you, now the package rebuilds correctly for me. Next step to fix now for you is to eliminate the necessity of full copies of the Poppler and CUPS source code in the package. Another issue are the cost factors in the .convs files. They must prioritize the PDF workflow. Note here that lower cost factors give higher priority. I suggest the following: pdftopdf: application/pdf application/vnd.cups-pdf 33 pdftopdf pdftoraster: application/vnd.cups-pdf application/vnd.cups-raster 66 pdftoraster imagetopdf: image/gif application/vnd.cups-pdf 50 imagetopdf ... image/x-sun-raster application/vnd.cups-pdf 50 imagetopdf (all lines 50 as cost factor) We will also need a pstopdf filter to handle PostScript input. This filter can be a simple script which can be easily derived from the pstoraster filter. It will need the following conversion rule: pstopdf: application/postscript application/pdf 0 pstopdf We also need to add the following rule to make native PostScript printers working with the PDF workflow (the filter comes already with CUPS): pdftops: application/vnd.cups-pdf application/vnd.cups-postscript 0 pdftops Also a problem are the PPD files shipped with the package. They need certain OpenPrinting Vector driver modules which do not ship with the package. The PPD files need to be moved into the packages which ship the driver modules, as otherwise a printer setup tool will list the appropriate printers but printing on them will not work. In addition, PPD files should not be put directly into /usr/share/ppd, but into /usr/share/ppd/<supplier>/<manufacturer>. I have also run lintian and linda, reporting the following smaller issues with the package: ------------------------------------------------------------------------ till@till-laptop:~/ubuntu/opfc-pdf-filters/opfc-pdf-filters-0.4.1$ linda ../opfc-pdf-filters_0.4.1-1ubuntu804_amd64.deb W: opfc-pdf-filters; File /usr/share/doc/opfc-pdf-filters/imagetopdf/LICENSE.txt.gz is considered to be an extra license file. W: opfc-pdf-filters; Binary /usr/lib/cups/filter/pdftoopvp compiled with an RPATH of /usr/lib. till@till-laptop:~/ubuntu/opfc-pdf-filters/opfc-pdf-filters-0.4.1$ lintian ../opfc-pdf-filters_0.4.1-1ubuntu804_amd64.deb W: opfc-pdf-filters: extra-license-file usr/share/doc/opfc-pdf-filters/imagetopdf/LICENSE.txt.gz W: opfc-pdf-filters: copyright-without-copyright-notice till@till-laptop:~/ubuntu/opfc-pdf-filters/opfc-pdf-filters-0.4.1$ ------------------------------------------------------------------------ Till Koji Otani wrote: > From: Till Kamppeter <till.kamppeter@gmail.com> > Subject: Re: [Printing-architecture] PDF CUPS filter packages > Date: Wed, 04 Jun 2008 11:07:09 +0200 > Message-ID: <48465B3D.4080809@gmail.com> > > till.kamppeter> Koji Otani wrote: > till.kamppeter> > Hi Till, > till.kamppeter> > > till.kamppeter> > I'm Koji Otani. > till.kamppeter> > > till.kamppeter> > Thank you for trying PDF filters. > till.kamppeter> > > till.kamppeter> > I'm wondering that error with dpkg-buildpackage is caused by using > till.kamppeter> > the compiler for 64bits. I'll see and fix it. > till.kamppeter> > > till.kamppeter> > Errors with manually compiling are caused by wrong specified > till.kamppeter> > --with-poppler-source option. That's option's value should be > till.kamppeter> > specified with full path. (See INSTALL please) > till.kamppeter> > > till.kamppeter> > till.kamppeter> I have used the full path now and the problem still occurs. See below. > till.kamppeter> > till.kamppeter> Till > till.kamppeter> > > Sorry, these problem was caused by newer GCC (>= 4.2). > I've fixed these and uploaded new packages for Ubuntu 8.04 and Fedora 9. > Please try these. > > ------------ > Koji Otani. > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Printing-architecture] PDF CUPS filter packages 2008-06-04 11:59 ` Till Kamppeter @ 2008-06-04 23:16 ` Olaf Meeuwissen [not found] ` <20080605.181530.212681540.sho@bbr.jp> [not found] ` <20080605.153828.28801505.sho@bbr.jp> 1 sibling, 1 reply; 12+ messages in thread From: Olaf Meeuwissen @ 2008-06-04 23:16 UTC (permalink / raw) To: Till Kamppeter; +Cc: toratani.yasumasa, printing-architecture, Koji Otani Till Kamppeter <till.kamppeter@gmail.com> writes: > Thank you, now the package rebuilds correctly for me. Next step to fix > now for you is to eliminate the necessity of full copies of the Poppler > and CUPS source code in the package. For the record, the "errors" were caused by telling gcc to treat warnings as errors (see snippet below). I have not checked the opfc-pdf-filters sources but this is not the default gcc behaviour, AFAIK. make[2]: Entering directory `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf/src' g++ -DHAVE_CONFIG_H -I. -I.. -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6//poppler -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6/ -DCONFFILE_DIR=\"/etc/cups\" -DPDFTOPDF -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6//poppler -Wall -Werror -g -O2 -MT pdf2pdf-P2PCatalog.o -MD -MP -MF .deps/pdf2pdf-P2PCatalog.Tpo -c -o pdf2pdf-P2PCatalog.o `test -f 'P2PCatalog.cc' || echo './'`P2PCatalog.cc cc1plus: warnings being treated as errors While I am generally inclined to do this myself, it is a bit of a mixed blessing as not all gcc versions of all distribution flag the same things as warnings. If adding your own warnings to -Wall, you will very likely compound the issue. In this particular case, converting string constants to `char *`, I would say it should be fixed. > [snip] Hope this helps, -- Olaf Meeuwissen FLOSS Engineer -- AVASYS Corporation FSF Associate Member #1962 sign up at http://member.fsf.org/ ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20080605.181530.212681540.sho@bbr.jp>]
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080605.181530.212681540.sho@bbr.jp> @ 2008-06-05 23:35 ` Olaf Meeuwissen 0 siblings, 0 replies; 12+ messages in thread From: Olaf Meeuwissen @ 2008-06-05 23:35 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture, till.kamppeter Koji Otani <sho@bbr.jp> writes: > olaf.meeuwissen> Till Kamppeter <till.kamppeter@gmail.com> writes: > olaf.meeuwissen> > olaf.meeuwissen> > Thank you, now the package rebuilds correctly for me. Next step to fix > olaf.meeuwissen> > now for you is to eliminate the necessity of full copies of the Poppler > olaf.meeuwissen> > and CUPS source code in the package. > olaf.meeuwissen> > olaf.meeuwissen> For the record, the "errors" were caused by telling gcc to treat > olaf.meeuwissen> warnings as errors (see snippet below). I have not checked the > olaf.meeuwissen> opfc-pdf-filters sources but this is not the default gcc behaviour, > olaf.meeuwissen> AFAIK. > olaf.meeuwissen> > olaf.meeuwissen> make[2]: Entering directory > olaf.meeuwissen> `/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/pdftopdf/src' > olaf.meeuwissen> g++ -DHAVE_CONFIG_H -I. -I.. > olaf.meeuwissen> -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6//poppler > olaf.meeuwissen> -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6/ > olaf.meeuwissen> -DCONFFILE_DIR=\"/etc/cups\" -DPDFTOPDF > olaf.meeuwissen> -I/home/till/ubuntu/opfc-pdf-filters/tmp/opfc-pdf-filters-0.4/poppler-0.6//poppler > olaf.meeuwissen> -Wall -Werror -g -O2 -MT pdf2pdf-P2PCatalog.o -MD -MP -MF > olaf.meeuwissen> .deps/pdf2pdf-P2PCatalog.Tpo -c -o pdf2pdf-P2PCatalog.o `test -f > olaf.meeuwissen> 'P2PCatalog.cc' || echo './'`P2PCatalog.cc > olaf.meeuwissen> cc1plus: warnings being treated as errors > olaf.meeuwissen> > olaf.meeuwissen> While I am generally inclined to do this myself, it is a bit of a > olaf.meeuwissen> mixed blessing as not all gcc versions of all distribution flag the > olaf.meeuwissen> same things as warnings. If adding your own warnings to -Wall, you > olaf.meeuwissen> will very likely compound the issue. > olaf.meeuwissen> > olaf.meeuwissen> In this particular case, converting string constants to `char *`, I > olaf.meeuwissen> would say it should be fixed. > olaf.meeuwissen> > olaf.meeuwissen> > [snip] > olaf.meeuwissen> > olaf.meeuwissen> Hope this helps, > > This warnings are caused by a declaration in a header of Poppler. > When compiling poppler, '-Wno-write-strings' is specified by poppler's > 'configure'!! Still, that only results in warnings, not errors, unless -Werror is given as above. BTW, -Wno-write-strings seems to have been included in -Wall somewhere around gcc-4.2.3. It's a good thing (but annoying if you end up with a few hundred places that need fixing ;-). Anyway, as Till said, these are poppler issues (if all you did is make some non-public poppler API public) and should be fixed upstream. Hope this helps, -- Olaf Meeuwissen FLOSS Engineer -- AVASYS Corporation FSF Associate Member #1962 sign up at http://member.fsf.org/ ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20080605.153828.28801505.sho@bbr.jp>]
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080605.153828.28801505.sho@bbr.jp> @ 2008-06-05 7:25 ` Till Kamppeter [not found] ` <20080605.193227.233691471.sho@bbr.jp> 0 siblings, 1 reply; 12+ messages in thread From: Till Kamppeter @ 2008-06-05 7:25 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Koji Otani wrote: > The CUPS source is needed by imagetopdf. This is because it use a CUPS's > internal function to be compatible with imagetops. Importing this code > into imagetopdf's source, the CUPS's full source will not be needed. > Then you should file an STR for CUPS (http://www.cups.org/str.php, feature request for CUPS 1.4) with a patch for the current SVN snapshot which integrates this filter. > pdftopdf and pdftoraster need the Poppler source. This is because they are > using some API not installed by poppler package. While only header files > are needed, to include only header files into the PDF filter pacakge > is worse than to include full source, I think. So, to eliminate > the Poppler source from PDF filter source pacakage is very difficult. > This looks like Poppler's API is incomplete. You should file a bug/feature request to Poppler so that they expose the missing functions. Or a feature request of making these filters part of Poppler. Supply a patch with the bug report/feature request. > pdftoopvp's source is a modified Poppler source. > Here you should also contact the Poppler project for either exposing missing API elements or making the filter part of Poppler. > > These are same as counterparts of PS workflow. > If your printer driver accepts PDF not PS, these filters are used. > > Why should their costs be lower than conterparts? > The PDF printing workflow is more reliable than the PostScript workflow. So the printout is more reliable if pdftopdf and not pstops is used, even in the case of having incoming PostScript and a driver which only accepts PostScript. Then CUPS should do pstopdf->pdftopdf->pdftops to get reliable page management. > I made a pstopdf script: > --------------------- > #!/bin/sh > if [ x$6 == x ];then > INFILE=- > else > INFILE=$6 > fi > exec gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite > -dCompatibilityLevel=1.3 > -sOutputFile=- -c .setpdfwrite -f $INFILE > ---------------------------- > > And I tested it with some PS files. > I found a problem. > With a PS file produced by AdobeReader 8 from a PDF file, GS produce > following errors: > ------------------------------ > This PostScript file was created from an encrypted PDF file. > Redistilling encrypted PDF is not permitted. > ERROR: /undefined in --get-- > ... > -------------------------------- > Original PDF file permits PRINTING, but not other things (EDIT, > etc). Adobe Reader 8 seems to embed code inhibits GS from converting to > PDF again. Do you have any idea about this? > File a bug at bugs.ghostscript.com, telling that this operation is needed for the permitted action of PRINTING. Tell also that we are implementing the PDF printing workflow where pstops gets replaced by pdftopdf. Till ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20080605.193227.233691471.sho@bbr.jp>]
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080605.193227.233691471.sho@bbr.jp> @ 2008-06-05 10:53 ` Till Kamppeter [not found] ` <20080606.145117.189705417.sho@bbr.jp> 2008-06-05 21:34 ` Till Kamppeter ` (2 subsequent siblings) 3 siblings, 1 reply; 12+ messages in thread From: Till Kamppeter @ 2008-06-05 10:53 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Koji Otani wrote: > till.kamppeter> Koji Otani wrote: > till.kamppeter> > The CUPS source is needed by imagetopdf. This is because it use a CUPS's > till.kamppeter> > internal function to be compatible with imagetops. Importing this code > till.kamppeter> > into imagetopdf's source, the CUPS's full source will not be needed. > till.kamppeter> > > till.kamppeter> > till.kamppeter> Then you should file an STR for CUPS (http://www.cups.org/str.php, > till.kamppeter> feature request for CUPS 1.4) with a patch for the current SVN snapshot > till.kamppeter> which integrates this filter. > till.kamppeter> Will you post the STR? > > The Poppler's external API is higer level such as render_to_pixbuf. > PDF filters are using many lower level such as page->getResourceDict. > Anyway, I'll ask Poppler project to make lower level API external. > OK. Please find a solution with them, either via low-level API or by making the filters part of the Poppler project. > till.kamppeter> File a bug at bugs.ghostscript.com, telling that this operation is > till.kamppeter> needed for the permitted action of PRINTING. Tell also that we are > till.kamppeter> implementing the PDF printing workflow where pstops gets replaced by > till.kamppeter> pdftopdf. > till.kamppeter> > > This is more complicated. GS doesn't check this, Adobe Reader 8 seems > to use a trick. > Following code is embeded in output PS: > ---------------------- > %ADOBeginClientInjection: DocumentSetup Start "No Re-Distill" > %% Removing the following eleven lines is illegal, subject to the > Digital Copyright Act of 1998. > mark currentfile eexec > 54dc5232e897cbaaa7584b7da7c23a6c59e7451851159cdbf40334cc2600 > ..... > ---------------------- > > So, this will not be a matter of GS. > GS is executing this embedded code which probably makes the PostScript interpreter exit with this error. One could modify Ghostscript to not exit under certain circumstances, for example if the output is going to stdout or if GS is running as a system user. You should contact the Ghostscript developers about that. Till ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20080606.145117.189705417.sho@bbr.jp>]
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080606.145117.189705417.sho@bbr.jp> @ 2008-06-06 6:55 ` Till Kamppeter 0 siblings, 0 replies; 12+ messages in thread From: Till Kamppeter @ 2008-06-06 6:55 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Koji Otani wrote: > We contacted with Mr. Michael Sweet. He said that he could not put pdf filters > into CUPS source tree because of Copyright and Maintenance, but he could > put them on somewhere in cups.org. I asked him to download PDF > filters and look them. I'm waiting for him to do them. Including Poppler code in CUPS is no problem with the license. Poppler is GPL. Probably the problem is that he wants to have copyright on the full source to be able to also include it in closed-source software and he probably also does not want to duplicate the Poppler source code (therefore he also changed the pdftops filter to call the pdftops tool from Poppler or xpdf instead), As your current PDF filters go deeply into the Poppler source code I think the best place for them is the Poppler project. Can you talk with Mike about including only the imagetopdf filter, as it does not use Poppler and goes deeply into the CUPS code. Tell Mike that you would transfer copyright to him and agree with him that the filter gets into CUPS under the same license as CUPS itself. Till ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080605.193227.233691471.sho@bbr.jp> 2008-06-05 10:53 ` Till Kamppeter @ 2008-06-05 21:34 ` Till Kamppeter 2008-06-05 21:46 ` Till Kamppeter 2008-06-05 22:07 ` Till Kamppeter 3 siblings, 0 replies; 12+ messages in thread From: Till Kamppeter @ 2008-06-05 21:34 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Koji Otani wrote: > From: Till Kamppeter <till.kamppeter@gmail.com> > Subject: Re: [Printing-architecture] PDF CUPS filter packages > Date: Thu, 05 Jun 2008 09:25:03 +0200 > Message-ID: <484794CF.10300@gmail.com> > > till.kamppeter> Koji Otani wrote: > till.kamppeter> > The CUPS source is needed by imagetopdf. This is because it use a CUPS's > till.kamppeter> > internal function to be compatible with imagetops. Importing this code > till.kamppeter> > into imagetopdf's source, the CUPS's full source will not be needed. > till.kamppeter> > > till.kamppeter> > till.kamppeter> Then you should file an STR for CUPS (http://www.cups.org/str.php, > till.kamppeter> feature request for CUPS 1.4) with a patch for the current SVN snapshot > till.kamppeter> which integrates this filter. > till.kamppeter> > till.kamppeter> > pdftopdf and pdftoraster need the Poppler source. This is because they are > till.kamppeter> > using some API not installed by poppler package. While only header files > till.kamppeter> > are needed, to include only header files into the PDF filter pacakge > till.kamppeter> > is worse than to include full source, I think. So, to eliminate > till.kamppeter> > the Poppler source from PDF filter source pacakage is very difficult. > till.kamppeter> > > till.kamppeter> > till.kamppeter> This looks like Poppler's API is incomplete. You should file a > till.kamppeter> bug/feature request to Poppler so that they expose the missing > till.kamppeter> functions. Or a feature request of making these filters part of Poppler. > till.kamppeter> Supply a patch with the bug report/feature request. > till.kamppeter> > till.kamppeter> > pdftoopvp's source is a modified Poppler source. > till.kamppeter> > > till.kamppeter> > till.kamppeter> Here you should also contact the Poppler project for either exposing > till.kamppeter> missing API elements or making the filter part of Poppler. > till.kamppeter> > > The Poppler's external API is higer level such as render_to_pixbuf. > PDF filters are using many lower level such as page->getResourceDict. > Anyway, I'll ask Poppler project to make lower level API external. > > till.kamppeter> > > till.kamppeter> > These are same as counterparts of PS workflow. > till.kamppeter> > If your printer driver accepts PDF not PS, these filters are used. > till.kamppeter> > > till.kamppeter> > Why should their costs be lower than conterparts? > till.kamppeter> > > till.kamppeter> > till.kamppeter> The PDF printing workflow is more reliable than the PostScript workflow. > till.kamppeter> So the printout is more reliable if pdftopdf and not pstops is used, > till.kamppeter> even in the case of having incoming PostScript and a driver which only > till.kamppeter> accepts PostScript. Then CUPS should do pstopdf->pdftopdf->pdftops to > till.kamppeter> get reliable page management. > till.kamppeter> > > OK, I see. > > till.kamppeter> > I made a pstopdf script: > till.kamppeter> > --------------------- > till.kamppeter> > #!/bin/sh > till.kamppeter> > if [ x$6 == x ];then > till.kamppeter> > INFILE=- > till.kamppeter> > else > till.kamppeter> > INFILE=$6 > till.kamppeter> > fi > till.kamppeter> > exec gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite > till.kamppeter> > -dCompatibilityLevel=1.3 > till.kamppeter> > -sOutputFile=- -c .setpdfwrite -f $INFILE > till.kamppeter> > ---------------------------- > till.kamppeter> > > till.kamppeter> > And I tested it with some PS files. > till.kamppeter> > I found a problem. > till.kamppeter> > With a PS file produced by AdobeReader 8 from a PDF file, GS produce > till.kamppeter> > following errors: > till.kamppeter> > ------------------------------ > till.kamppeter> > This PostScript file was created from an encrypted PDF file. > till.kamppeter> > Redistilling encrypted PDF is not permitted. > till.kamppeter> > ERROR: /undefined in --get-- > till.kamppeter> > ... > till.kamppeter> > -------------------------------- > till.kamppeter> > Original PDF file permits PRINTING, but not other things (EDIT, > till.kamppeter> > etc). Adobe Reader 8 seems to embed code inhibits GS from converting to > till.kamppeter> > PDF again. Do you have any idea about this? > till.kamppeter> > > till.kamppeter> > till.kamppeter> File a bug at bugs.ghostscript.com, telling that this operation is > till.kamppeter> needed for the permitted action of PRINTING. Tell also that we are > till.kamppeter> implementing the PDF printing workflow where pstops gets replaced by > till.kamppeter> pdftopdf. > till.kamppeter> > > This is more complicated. GS doesn't check this, Adobe Reader 8 seems > to use a trick. > Following code is embeded in output PS: > ---------------------- > %ADOBeginClientInjection: DocumentSetup Start "No Re-Distill" > %% Removing the following eleven lines is illegal, subject to the > Digital Copyright Act of 1998. > mark currentfile eexec > 54dc5232e897cbaaa7584b7da7c23a6c59e7451851159cdbf40334cc2600 > ..... > ---------------------- > > So, this will not be a matter of GS. Can you try to print this file from Evince? Does this work with the PDF workflow? Till ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080605.193227.233691471.sho@bbr.jp> 2008-06-05 10:53 ` Till Kamppeter 2008-06-05 21:34 ` Till Kamppeter @ 2008-06-05 21:46 ` Till Kamppeter 2008-06-05 22:07 ` Till Kamppeter 3 siblings, 0 replies; 12+ messages in thread From: Till Kamppeter @ 2008-06-05 21:46 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Koji Otani wrote: > This is more complicated. GS doesn't check this, Adobe Reader 8 seems > to use a trick. > Following code is embeded in output PS: > ---------------------- > %ADOBeginClientInjection: DocumentSetup Start "No Re-Distill" > %% Removing the following eleven lines is illegal, subject to the > Digital Copyright Act of 1998. > mark currentfile eexec > 54dc5232e897cbaaa7584b7da7c23a6c59e7451851159cdbf40334cc2600 > ..... > ---------------------- > > So, this will not be a matter of GS. Can you post this PDF file or make it otherwise available for download? I would like to use it for testing. Till ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Printing-architecture] PDF CUPS filter packages [not found] ` <20080605.193227.233691471.sho@bbr.jp> ` (2 preceding siblings ...) 2008-06-05 21:46 ` Till Kamppeter @ 2008-06-05 22:07 ` Till Kamppeter 3 siblings, 0 replies; 12+ messages in thread From: Till Kamppeter @ 2008-06-05 22:07 UTC (permalink / raw) To: Koji Otani; +Cc: toratani.yasumasa, printing-architecture Koji Otani wrote: > This is more complicated. GS doesn't check this, Adobe Reader 8 seems > to use a trick. > Following code is embeded in output PS: > ---------------------- > %ADOBeginClientInjection: DocumentSetup Start "No Re-Distill" > %% Removing the following eleven lines is illegal, subject to the > Digital Copyright Act of 1998. > mark currentfile eexec > 54dc5232e897cbaaa7584b7da7c23a6c59e7451851159cdbf40334cc2600 > ..... > ---------------------- > > So, this will not be a matter of GS. > > --------------- > Koji Oatni > Below is my talk with Ralph Giles (rillian), leader of Ghostscript (IRC: #ghostscript on Freenode) about the problem of DRMes PDF files. WDYT should we do? Till --------------------------------------------------------------------- <tkamppeter> rillian, hi <rillian> hi till. what's up? <tkamppeter> I have a problem with the PDF printing workflow. <tkamppeter> I want to do all page processing in a pdftopdf CUPS filter instead of pstops, to improve reliability for these operations. <tkamppeter> So I replace PostScript by PDF as print job format. <tkamppeter> Now there is the Adobe Reader, closed-source, so cannot be patched to output PDF instead of PS when printing. <rillian> ok... <tkamppeter> Seems to be no problem for CUPS. CUPS starts with a pstopdf filter, based on Ghostscript to get PDF out of the PS coming from Adobe Reader <tkamppeter> works perfectly with unencrypted PDFs. <tkamppeter> Now I have an encrypted PDF, allowed is only PRINTING the file. <tkamppeter> In this case the Ghostscript called by the pstopdf filter does not convert the file backk to PDF, giving the following error: <tkamppeter> This PostScript file was created from an encrypted PDF file. <tkamppeter> Redistilling encrypted PDF is not permitted. <tkamppeter> ERROR: /undefined in --get-- <rillian> like they say, DRM can't enforce copyright law accurately <rillian> (although it shouldn't say /undefined in --get--; feel free to file a bug on that <tkamppeter> The error seems to be generated by the following piece of code inserted in the PS: <tkamppeter> %ADOBeginClientInjection: DocumentSetup Start "No Re-Distill" <tkamppeter> %% Removing the following eleven lines is illegal, subject to the <tkamppeter> Digital Copyright Act of 1998. <tkamppeter> mark currentfile eexec <tkamppeter> 54dc5232e897cbaaa7584b7da7c23a6c59e7451851159cdbf40334cc2600 <tkamppeter> ..... <tkamppeter> Something needs to be changed in Ghostscript so that one can print this file ... <rillian> I'm not sure what you want <rillian> a flag that says "no really, I'm being called as a component of a print chain"? <rillian> can you not just print such files as postscript directly? <rillian> do you really need to be adding special support for proprietary software in the CUPS workflow? <tkamppeter> I want to replace PostScript by PDF as standard print job format, probably you have been on one of my Printing Summits where we have talked about that. <rillian> tkamppeter: I'm aware of that <tkamppeter> Especially I want to make the page management (N-Up, selected pages, booklets, ...) reliably working, <tkamppeter> but also nice things as smaller jobs, transparency, high color depths, ... <tkamppeter> Now I once let free apps output PDF instead of PostScript (this needs only some small bits changed in Qt and GTK) <rillian> tkamppeter: the document contains code that prevents redistillation. I don't think it's our place to help with that. <tkamppeter> so I need to add an exception to the CUPS workflow for this one proprietary app? <rillian> that's what you're asking for <rillian> at least, if you want such DRM'd documents to print <rillian> if it wasn't clear, I sounds like the DRM in question is *in the postscript file* <rillian> it's not ghostscript enforcing it, it's the file itself <tkamppeter> As if GS would convert it happily back to PDF there would be no exception, all jobs run through pdftopdf and no exception in the CUPS filtering is needed. <rillian> so we'd have to actively detect and circumvent the DRM code <rillian> if it really is just a set of lines, it might be easier to have your pstopdf script do that before feeding it to ghostscript <tkamppeter> Does this DRM code detect whether the output device is "pdfwrite" and then stops and otherwise lets the interpreter continue? <rillian> I don't know how it works <rillian> can you post the document somewhere? <rillian> (I expect it's more general that checking for 'pdfwrite' since that's ghostscript specific. It probably looks to see if some distiller parameters are being respected.) <tkamppeter> rillian, you mean that the pstopdf script filters out the added lines and to make the DRM guys happy to make pstopdf only executable by "lp" (the CUPS system user). * behdad has quit ("Leaving.") <rillian> tkamppeter: that would make it safer to ship under the DMCA, since you could claim it's only used when printing <rillian> as long as it didn't do anything when the DRM said 'no printing' of course... <tkamppeter> rillian, do you have encrypted PDFs in your regression testing repos? Try to convert them to PostScript with the printing function of Adobe Reader. Then look into the PostScript code. <rillian> tkamppeter: personally I wouldn't try to handle this. Tell the user their (proprietary) software is adding DRM to the documents it prints, which the printing subsystem is not allowed to handle <tkamppeter> What I can also do with these files is to define a new CUPS mime detecting this DRM code and in this case pass it through pstops. Assuming that such PostScript comes only from Adobe it will probably smoothly do page management with pstops. * hawk_pdm has quit ("Leaving.") <tkamppeter> Problem here is that pstops can not be dropped from later CUPS releases as long as Adobe does not adopt the PDF printing workflow. <rillian> or drops their DRM :) <rillian> but the former is more likely * KaL_out has quit ("That's not a bug, but a feature") <tkamppeter> My big problem is that when I switch a distro over to the PDF workflow many users will complain that the PDFs which they are allowed to print do not print any more. <tkamppeter> Users will not switch to Linux when they cannot print downloaded PDFs which print under Windows. <rillian> does the file not print from evince? <tkamppeter> Koji Otani from OpenPrinting Japan has done the tests when he was packaging the CUPS filters. <tkamppeter> rillian, I asked Otani-san now to try to print it from Evince. I can imaging that this will work with a later version of Evince/GTK which outputs the print data as PDF. <rillian> it should work, certainly <rillian> ok, the only restricted pdf I had handy also doesn't allow printing, so I don't have the ps output to look at <rillian> however, evince was happy to print it, so I don't imagine it would have qualms about printing a PDF that did allow printing <rillian> So in addition to my suggestion that you declare this Acrobat's problem, I'd offer that there is a work around of not using Acrobat ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2008-06-06 6:55 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-03 6:43 [Printing-architecture] PDF CUPS filter packages TORATANI Yasumasa
2008-06-03 13:06 ` Till Kamppeter
[not found] ` <20080604.105602.104056266.sho@bbr.jp>
2008-06-04 9:07 ` Till Kamppeter
[not found] ` <20080604.181746.02274177.sho@bbr.jp>
2008-06-04 11:59 ` Till Kamppeter
2008-06-04 23:16 ` Olaf Meeuwissen
[not found] ` <20080605.181530.212681540.sho@bbr.jp>
2008-06-05 23:35 ` Olaf Meeuwissen
[not found] ` <20080605.153828.28801505.sho@bbr.jp>
2008-06-05 7:25 ` Till Kamppeter
[not found] ` <20080605.193227.233691471.sho@bbr.jp>
2008-06-05 10:53 ` Till Kamppeter
[not found] ` <20080606.145117.189705417.sho@bbr.jp>
2008-06-06 6:55 ` Till Kamppeter
2008-06-05 21:34 ` Till Kamppeter
2008-06-05 21:46 ` Till Kamppeter
2008-06-05 22:07 ` Till Kamppeter
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.