* [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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
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.