Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 539492 - net-print/cups-filters-1.0.61 with =app-text/poppler-0.31.0: filter/pdftoopvp/OPVPOutputDev.cxx:281:23: error: ‘class GlobalParams’ has no member named ‘getAntialias
Summary: net-print/cups-filters-1.0.61 with =app-text/poppler-0.31.0: filter/pdftoopvp...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 3 votes (vote)
Assignee: Printing Team
URL: https://bugs.linuxfoundation.org/show...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-09 18:10 UTC by tman
Modified: 2015-07-15 17:41 UTC (History)
18 users (show)

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


Attachments
/var/tmp/portage/net-print/cups-filters-1.0.61/temp/build.log (build.log,53.90 KB, text/x-log)
2015-02-09 18:11 UTC, tman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tman 2015-02-09 18:10:18 UTC
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I.     -I/usr/include/freetype2  -I/usr/include/freetype2  -I/usr/include/libpng16  -I/usr/include/poppler  -I./filter/pdftoopvp/oprs -I./filter/pdftoopvp/opvp -march=corei7 -O2 -pipe -Wall -pedantic -D_GNU_SOURCE -c -o pdftoopvp-OPVPOutputDev.o `test -f 'filter/pdftoopvp/OPVPOutputDev.cxx' || echo './'`filter/pdftoopvp/OPVPOutputDev.cxx
In file included from filter/pdftoopvp/OPVPOutputDev.cxx:23:0:
filter/pdftoopvp/OPVPError.h:39:23: warning: anonymous variadic macros were introduced in C99 [-Wvariadic-macros]
 #define opvpError(pos,...) error(errInternal,pos,__VA_ARGS__)
                       ^
In file included from /usr/include/poppler/goo/gfile.h:75:0,
                 from filter/pdftoopvp/OPVPOutputDev.cxx:21:
/usr/include/poppler/goo/gtypes.h:50:14: warning: ISO C++ 1998 does not support ‘long long’ [-Wlong-long]
 typedef long long Goffset;
              ^
In file included from /usr/include/poppler/Error.h:37:0,
                 from filter/pdftoopvp/OPVPError.h:33,
                 from filter/pdftoopvp/OPVPOutputDev.cxx:23:
/usr/include/poppler/goo/GooString.h:187:30: warning: ISO C++ 1998 does not support ‘long long’ [-Wlong-long]
   static void formatInt(long long x, char *buf, int bufSize,
                              ^
/usr/include/poppler/goo/GooString.h:196:40: warning: ISO C++ 1998 does not support ‘long long’ [-Wlong-long]
   static void formatUInt(unsigned long long x, char *buf, int bufSize,
                                        ^
In file included from filter/pdftoopvp/OPVPOutputDev.cxx:24:0:
/usr/include/poppler/Object.h:149:26: warning: ISO C++ 1998 does not support ‘long long’ [-Wlong-long]
   Object *initInt64(long long int64gA)
                          ^
/usr/include/poppler/Object.h:215:8: warning: ISO C++ 1998 does not support ‘long long’ [-Wlong-long]
   long long getInt64() { OBJECT_TYPE_CHECK(objInt64); return int64g; }
        ^
/usr/include/poppler/Object.h:260:10: warning: ISO C++ 1998 does not support ‘long long’ [-Wlong-long]
     long long int64g;           //   64-bit integer
          ^
filter/pdftoopvp/OPVPOutputDev.cxx: In member function ‘void OPVPOutputDev::startDoc(XRef*)’:
filter/pdftoopvp/OPVPOutputDev.cxx:281:23: error: ‘class GlobalParams’ has no member named ‘getAntialias’
         globalParams->getAntialias());
                       ^
Makefile:3440: recipe for target 'pdftoopvp-OPVPOutputDev.o' failed
make[1]: *** [pdftoopvp-OPVPOutputDev.o] Error 1
make[1]: Leaving directory '/var/tmp/portage/net-print/cups-filters-1.0.61/work/cups-filters-1.0.61'
Makefile:1658: recipe for target 'all' failed
make: *** [all] Error 2
 * ERROR: net-print/cups-filters-1.0.61::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=net-print/cups-filters-1.0.61::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=net-print/cups-filters-1.0.61::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/net-print/cups-filters-1.0.61/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-print/cups-filters-1.0

Reproducible: Always




Portage 2.2.16 (python 3.4.2-final-0, default/linux/amd64/13.0/desktop, gcc-4.9.2, glibc-2.20-r1, 3.18.6-gentoo x86_64)
=================================================================
System uname: Linux-3.18.6-gentoo-x86_64-Intel-R-_Core-TM-_i7-3740QM_CPU_@_2.70GHz-with-gentoo-2.2
KiB Mem:    24626584 total,  19485360 free
KiB Swap:   25461756 total,  25461756 free
Timestamp of repository gentoo: Mon, 09 Feb 2015 17:30:01 +0000
sh bash 4.3_p33-r1
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.3_p33-r1::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.1-r4::gentoo
dev-lang/python:          2.7.9-r2::gentoo, 3.4.2::gentoo
dev-util/cmake:           3.1.0::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.13.9::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.13.4::gentoo, 1.15::gentoo
sys-devel/binutils:       2.24-r3::gentoo
sys-devel/gcc:            4.9.2::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.5::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r1::gentoo
Repositories:

gentoo
    location: /mnt/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

bitcoin
    location: /mnt/portage/local/layman/bitcoin
    masters: gentoo
    priority: 0

bumblebee
    location: /mnt/portage/local/layman/bumblebee
    masters: gentoo
    priority: 1

steam-overlay
    location: /mnt/portage/local/layman/steam-overlay
    masters: gentoo
    priority: 2

media-overlay
    location: /mnt/portage/local/layman/media-overlay
    masters: gentoo
    priority: 3

lokal
    location: /mnt/portage/local/local-overlay
    masters: gentoo
    priority: 4

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=corei7 -O2 -pipe"
DISTDIR="/mnt/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/mnt/portage/packages"
PORTAGE_CONFIGROOT="/"
Comment 1 tman 2015-02-09 18:11:01 UTC
Created attachment 395996 [details]
/var/tmp/portage/net-print/cups-filters-1.0.61/temp/build.log
Comment 2 Small_Penguin 2015-02-09 19:45:52 UTC
Confirmed. Apparently this is caused by poppler-0.31.0 changes, cups-filters-1.0.62 has the same problems.
Comment 3 Rinaldus 2015-02-09 20:24:45 UTC
I confirm this bug too.
Comment 4 Aric Belsito 2015-02-09 21:19:36 UTC
Confirmed!
Comment 5 Daniel Shafer 2015-02-09 21:20:29 UTC
Confirmed as well.
Comment 6 Daniel Shafer 2015-02-09 21:25:20 UTC
(In reply to Daniel from comment #5)
> Confirmed as well.

I accidently added arm64.  My bad.  Please remove that.
Comment 7 Manuel Rüger (RETIRED) gentoo-dev 2015-02-10 00:00:51 UTC
I masked this version until this is solved.

# Manuel Rüger <mrueg@gentoo.org> (10 Feb 2015)
# Breaks build for cups-filters-1.0.61
# See bug #539492
=app-text/poppler-0.31.0
Comment 8 Gabriel Marcano 2015-02-10 01:23:13 UTC
I traced the problem as being caused by the following commit in poppler:

http://cgit.freedesktop.org/poppler/poppler/commit/?id=6b072500b5ac936631be6b29b7d5a591848a18f3

It seems that poppler removed GlobalParams::getAntialias(). I'm not sure since I'm not an expert on poppler, but it seems that the removed function was moved to poppler/SplashOutputDev.h as SplashOutputDev::getFontAntialias(). cups-filter would have to be updated to use this new function.
Comment 9 Gabriel Marcano 2015-02-10 02:33:39 UTC
From what I can tell looking at the cups-filter code, it seems that the file filter/pdftoopvp/OPVPOutputDev.cxx was developed based on poppler's SplashOutputDev.cc, which was changed by the commit I posted about earlier. One possible solution would be to update cups-filter's code to match the way of handling the antialiasing option (i.e. not let the setting be global, but *OutputDev specific).

I just checked upstream, there is a bug report there already:
https://bugs.linuxfoundation.org/show_bug.cgi?id=1254
Comment 10 Derk W te Bokkel 2015-02-11 20:41:58 UTC
FYI upstream has a patch that allows cups-filters to build

I just added to /etc/portage/patches/net-print/cups-filters 
and all builds fine ..
Comment 11 Gabriel Marcano 2015-02-11 22:05:29 UTC
From the looks of it, the patch works by effectively defaulting antialiasing to false in the cases cups-filters used to check for the antialiasing in the global state. It does fix some of the other problems introduced by the changes (contructor changes). I'm not an expert in poppler, so I don't know how useful or important antialiasing is for OPVPOutputDev, but just disabling antialiasing doesn't seem like the right way to fix the problem, I think. Feels like more of a workaround.
Comment 12 Andreas K. Hüttel archtester gentoo-dev 2015-02-14 19:51:02 UTC
I've added a patch in newly bumped 1.0.65
Comment 13 Ctibor Brančík 2015-04-06 10:02:57 UTC
I have just run into this problem while upgrading to =app-text/poppler-0.32.0 and =net-print/cups-filters-1.0.66

Ebuild for cups-filters 1.0.66 does not include the same patch as 1.0.65 and the patch is not reusable.
Comment 14 Kurt Willson 2015-06-29 00:46:14 UTC
I just ran into this issue in updating an older system.

I have stable poppler-0.32.0 installed. Attempt to install cups-filters, with or without 'foomatic', spawn this. Ideas?
Comment 15 Xavier Miller (RETIRED) gentoo-dev 2015-07-14 06:41:23 UTC
Hi!

The problem is coming again...
Comment 16 Steve Arnold archtester gentoo-dev 2015-07-15 16:52:17 UTC
Still hitting same type of problem with poppler-0.34.0 and cups-filters 1.0.71:

filter/pdftoopvp/oprs/OPRS.cxx:244:70: error: no matching function for call to ‘Splash::drawImage(GBool (*&)(void*, SplashColorPtr, Guchar*), void*&, SplashColorMode&, GBool&, int&, int&, SplashCoord*&, bool)’
  return splash->drawImage(src,srcData,srcMode,srcAlpha,w,h,mat,gFalse);
                                                                      ^
filter/pdftoopvp/oprs/OPRS.cxx:244:70: note: candidate is:
In file included from filter/pdftoopvp/oprs/OPRS.cxx:40:0:
/usr/include/poppler/splash/Splash.h:217:15: note: SplashError Splash::drawImage(SplashImageSource, SplashICCTransform, void*, SplashColorMode, GBool, int, int, SplashCoord*, GBool, GBool)
   SplashError drawImage(SplashImageSource src, SplashICCTransform tf, void *sr
               ^
/usr/include/poppler/splash/Splash.h:217:15: note:   candidate expects 10 arguments, 8 provided

with lots of ISO C++ 1998 warnings.  The LFS patch looks quite insane and horrible to maintain - can we get upstream to smash their heads together and agree on an interface?  This repeated breakage is the suck...
Comment 17 Steve Arnold archtester gentoo-dev 2015-07-15 17:41:59 UTC
Patch now in portage (mentioned in bug #553516) gets things building again, so obsolete and "Resolved, for now..."