[Pkg-cups-devel] Bug#558755: I don't think it's a poppler defect

Jonathan Guthrie jguthrie at brokersys.com
Mon Nov 30 18:23:56 UTC 2009


I'm sure that the cups maintainers are aware of all this, but it might
be of interest to users who all of a sudden can't print, so I'm
commenting on the defect.

I was unable to locate a copy of the version 0.12.0-2.1 version of
libpoppler5 to downgrade to, so I investigated the issue with the cups
source, thinking there might be a simple patch I could apply to the cups
source to get it all to work.

To be specific, the issue that cups complains about is that it can't run
the pdftopdf filter and, when run manually, that filter issues a message
similar to this:

undefined symbol: _ZN13GfxColorSpace5parseEP6Object

Once I downloaded the cups source and figured out which command to issue
to build it, the problem became obvious:  The poppler guys have changed
the function signature of GfxColorSpace::parse to include a pointer to a
Gfx object.  They also added a similar pointer to the calls to
GfxPattern::parse, like is called by methods in P2PPattern.cxx

Since it says that P2PGfx.cxx is derived from Gfx.cc from the poppler
source, I thought it might prove useful to see what the Gfx.cc source
passes to GfxColorSpace::parse, and it passes the "this" pointer in that
place.  Since the P2PGfx class is not derived from the Gfx class,
passing the "this" pointer won't work and trying to derive P2PGfx from
Gfx is more work than I'm willing to go to for a quick fix.

I was able to get it to work (I could at least print my jobs) by passing
NULL pointers in all three places where it expects extra object
pointers.  However, I expect that approach to be suboptimal.  That
parameter is likely used for something, although I'm not going to dig
into just what at the moment.

In any case, there is a version dependency.  I don't know if libpoppler5
should have been versioned or what, but the 1.4.2 version of cups is
clearly not compatible with it and I believe that the dependencies
should be adjusted such that you can't have cups 1.4.2-2 installed at
the same time as libpoppler5 0.12.2.



!DSPAM:141,4b140dc940091780812483!







More information about the Pkg-cups-devel mailing list