Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 384875 - dev-tex/luatex-0.70.1 fails to compile with app-text/poppler-0.18.0
Summary: dev-tex/luatex-0.70.1 fails to compile with app-text/poppler-0.18.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal with 3 votes (vote)
Assignee: TeX project
URL:
Whiteboard:
Keywords:
: 385929 (view as bug list)
Depends on:
Blocks: 384885
  Show dependency tree
 
Reported: 2011-09-29 05:53 UTC by Cédric Jeanneret
Modified: 2012-08-09 13:17 UTC (History)
58 users (show)

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


Attachments
build.log (luatex.build.log,130.46 KB, text/plain)
2011-09-29 05:54 UTC, Cédric Jeanneret
Details
Drop LUA bindings for removed poppler API (gentoo384875a.patch,4.55 KB, patch)
2011-09-30 12:46 UTC, Martin von Gagern
Details | Diff
Drop LUA bindings for removed poppler API (gentoo384875b.patch,4.44 KB, patch)
2011-09-30 13:31 UTC, Martin von Gagern
Details | Diff
gentoo384875b.patch (gentoo384875b.patch,3.71 KB, text/plain)
2011-10-01 18:11 UTC, Billy DeVincentis
Details
Ebuild folder for overlay (luatex.tar.gz,6.53 KB, application/x-gzip)
2011-10-01 18:13 UTC, Billy DeVincentis
Details
Another patch that uses the version macros from poppler/glib/poppler-features.h (luatex-0.70.1-poppler-0.18.patch,4.44 KB, patch)
2011-10-04 06:47 UTC, Philipp
Details | Diff
Patch to be applied conditionally (gentoo384875c.patch,5.76 KB, patch)
2011-10-05 06:58 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Cédric Jeanneret 2011-09-29 05:53:00 UTC
revdep-rebuild today, had to redo this package - it fails.

I'll add the build-log.

Reproducible: Always

Actual Results:  
compilation fails:

* ERROR: dev-tex/luatex-0.70.1 failed (compile phase):
 *   failed to build luatex
 * 
 * Call stack:
 *     ebuild.sh, line  91:  Called src_compile
 *   environment, line 2602:  Called die
 * The specific snippet of code:
 *       emake luatex || die "failed to build luatex"
 * 
 * If you need support, post the output of 'emerge --info =dev-tex/luatex-0.70.1',
 * the complete build log and the output of 'emerge -pqv =dev-tex/luatex-0.70.1'.
 * The complete build log is located at '/var/tmp/portage/dev-tex/luatex-0.70.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-tex/luatex-0.70.1/temp/environment'.
 * S: '/var/tmp/portage/dev-tex/luatex-0.70.1/work/luatex-beta-0.70.1/source'


Expected Results:  
should compile right ;)

Portage 2.1.10.19 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.13-r4, 3.0.4by-tengu x86_64)
=================================================================
System uname: Linux-3.0.4by-tengu-x86_64-Intel-R-_Xeon-R-_CPU_X3440_@_2.53GHz-with-gentoo-2.0.3
Timestamp of tree: Thu, 29 Sep 2011 05:00:01 +0000
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.5-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.3-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories:

gentoo
    location: /usr/portage
    sync: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

yarik-overlay
    location: /var/lib/layman/yarik-overlay
    masters: gentoo
    priority: 0

akoya
    location: /var/lib/layman/akoya
    masters: gentoo
    priority: 1

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 2

ABI="amd64"
ACCEPT_KEYWORDS="amd64 ~amd64 ~x86"
ACCEPT_LICENSE="*"
ACCEPT_PROPERTIES="*"
ALSA_CARDS="usb-usx2y usb-audio usb-audio-us1221"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare empty extplug file hooks iec958 ioplug lfloat linear meter multi null plug rate route share shm softvol dsnoop ladspa mmap_emul mulaw"
APACHE2_MODULES=""
ARCH="amd64"
ASFLAGS_x86="--32"
AUTOCLEAN="yes"
CALLIGRA_FEATURES=""
CAMERAS=""
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CFLAGS_x86="-m32"
CHOST="x86_64-pc-linux-gnu"
CHOST_amd64="x86_64-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
CLEAN_DELAY="5"
COLLECTD_PLUGINS=""
COLLISION_IGNORE="/lib/modules"
COLORTERM="rxvt-xpm"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa hostname hosts keymaps"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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="-O2 -pipe"
DEFAULT_ABI="amd64"
DISPLAY=":0"
DISTDIR="/home/distfiles/"
EDITOR="/usr/bin/vim"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="-qv"
EMERGE_WARNING_DELAY="10"
EPREFIX=""
EROOT="/"
FCFLAGS=""
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news nodoc noinfo parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FETCHCOMMAND="/usr/bin/wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
FETCHCOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}""
FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec sftp -P \${port} \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}""
FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}""
FFLAGS=""
GCC_SPECS=""
GDK_USE_XFT="1"
GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/"
GPSD_PROTOCOLS=""
GRUB_PLATFORMS=""
GSETTINGS_BACKEND="dconf"
HG="/usr/bin/hg"
HOME="/root"
INFOPATH="/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.21.1/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/info"
INPUT_DEVICES="evdev keyboard mouse"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KDIR="/usr/src/linux"
KERNEL="linux"
LANG="en_US.UTF-8"
LCD_DEVICES=""
LC_ALL="en_US.UTF-8"
LC_NUMERIC="fr_CH.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LDFLAGS_x86="-m elf_i386"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe %s"
LIBDIR_amd64="lib64"
LIBDIR_amd64_fbsd="lib64"
LIBDIR_ppc="lib32"
LIBDIR_ppc64="lib64"
LIBDIR_s390="lib32"
LIBDIR_s390x="lib64"
LIBDIR_sparc32="lib32"
LIBDIR_sparc64="lib64"
LIBDIR_x86="lib32"
LIBDIR_x86_fbsd="lib32"
LINGUAS="fr en de it"
LOGNAME="root"
LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"
MAIL="/var/mail/root"
MAKEOPTS="-j6"
MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.21.1/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/man:/etc/java-config/system-vm/man/"
MULTILIB_ABIS="amd64 x86"
MULTILIB_STRICT_DENY="64-bit.*shared object"
MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib"
MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage|udev)"
NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml"
OPENGL_PROFILE="nvidia"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3:/opt/vmware/bin"
PHP_TARGETS=""
PKGDIR="/usr/portage/packages"
PORTAGE_ARCHLIST="ppc sparc64-freebsd ppc-openbsd x86-openbsd ppc64 x86-winnt x86-fbsd ppc-aix alpha arm x86-freebsd s390 amd64 arm-linux x86-macos x64-openbsd ia64-hpux hppa x86-netbsd x86-cygwin amd64-linux ia64-linux x86 sparc-solaris x64-freebsd sparc64-solaris x86-linux x64-macos sparc m68k-mint ia64 mips ppc-macos x86-interix hppa-hpux amd64-fbsd x64-solaris mips-irix m68k sh x86-solaris sparc-fbsd"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib64/portage/bin"
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save_summary echo"
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5"
PORTAGE_FETCH_RESUME_MIN_SIZE="350K"
PORTAGE_GID="250"
PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --clearsign --yes --default-key "${PORTAGE_GPG_KEY}" --homedir "${PORTAGE_GPG_DIR}" "${FILE}""
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_PYM_PATH="/usr/lib64/portage/pym"
PORTAGE_QUIET="1"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_RSYNC_RETRIES="-1"
PORTAGE_SANDBOX_COMPAT_LEVEL="16"
PORTAGE_SYNC_STALE="30"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_VERBOSE="1"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/yarik-overlay /var/lib/layman/akoya /usr/local/portage"
PORT_LOGDIR_CLEAN="find "${PORT_LOGDIR}" -type f ! -name "summary.log*" -mtime +7 -delete"
PRELINK_PATH_MASK="/usr/lib64/libfreebl3.so:/usr/lib64/libnssdbm3.so:/usr/lib64/libsoftokn3.so"
PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND"
PWD="/root"
PYTHONDONTWRITEBYTECODE="1"
QEMU_SOFTMMU_TARGETS="i386 x86_64"
RESUMECOMMAND="/usr/bin/wget -c -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
RESUMECOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}""
RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}""
ROOT="/"
ROOTPATH="/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3:/opt/vmware/bin"
RPMDIR="/usr/portage/rpm"
RUBY_TARGETS="ruby18"
SHELL="/bin/bash"
SHLVL="1"
STAGE1_USE="multilib nptl nptlonly unicode"
SUDO_COMMAND="/bin/bash"
SUDO_GID="1108"
SUDO_UID="1108"
SUDO_USER="cjeanneret"
SYMLINK_LIB="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
TERM="rxvt"
USE="X accessibility alsa amd64 archive bash-completion bzip2 cairo cracklib crypt cups dbus dhclient djvu dri faac faad flac fuse gif gnome gnome-keyring gnutls gstreamer gtk introspection ipv6 java jpeg jpeg2k lame lzo mad mp3 mpeg mpg123 multilib ncurses networkmanager nls offensive ogg pam pcre png policykit python qt3support readline resolvconf samba smbclient sound spell ssl svg svgi taglib theora threads threadsafe tiff truetype udev unicode vdpau vim-syntax vorbis x264 xinerama xml zlib zsh-completioni" ALSA_CARDS="usb-usx2y usb-audio usb-audio-us1221" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare empty extplug file hooks iec958 ioplug lfloat linear meter multi null plug rate route share shm softvol dsnoop ladspa mmap_emul mulaw" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LINGUAS="fr en de it" QEMU_SOFTMMU_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XFCE_PLUGINS="trash logout"
USER="root"
USERLAND="GNU"
USERNAME="root"
USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CROSSCOMPILE_OPTS DRACUT_MODULES DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL OFED_DRIVERS PHP_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS SANE_BACKENDS USERLAND VIDEO_CARDS XFCE_PLUGINS XTABLES_ADDONS"
USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_ORDER="env:pkg:conf:defaults:pkginternal:repo:env.d"
VBOX_APP_HOME="/usr/lib64/virtualbox"
VIDEO_CARDS="nvidia"
XAUTHORITY="/home/cjeanneret/.Xauthority"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="/usr/local/share:/usr/share:/usr/share/gdm"
XFCE_PLUGINS="trash logout"
XSESSION="Gnome"
XTABLES_ADDONS=""
_="/usr/bin/emerge"
Comment 1 Cédric Jeanneret 2011-09-29 05:54:21 UTC
Created attachment 288187 [details]
build.log
Comment 2 Priit Laes (IRC: plaes) 2011-09-29 06:09:16 UTC
Fails due to the poppler update, apparently it is not compatible with poppler-0.18.0
Comment 3 Nikos Chantziaras 2011-09-29 07:34:05 UTC
Same problem here. Downgrading poppler allows it to build again.
Comment 4 Nikos Chantziaras 2011-09-29 07:56:14 UTC
This is the poppler commit that made the dtor protected:

http://cgit.freedesktop.org/poppler/poppler/commit/poppler/Annot.h?id=664865a2ddca9c20ac36a41aef52ebf12eab838d
Comment 5 Robert Cabrera 2011-09-29 11:23:48 UTC
I can confirm the exact same issue on my ~amd64 laptop. Any workarounds besides downgrading poppler? When I try to mask 0.18.0 the next version in the tree is version 0.16.7 which fails to build on my system.

Any help would be appreciated
Comment 6 Nikos Chantziaras 2011-09-29 11:28:01 UTC
(In reply to comment #5)
> I can confirm the exact same issue on my ~amd64 laptop. Any workarounds besides
> downgrading poppler? When I try to mask 0.18.0 the next version in the tree is
> version 0.16.7 which fails to build on my system.

Put the patch from bug 384789 in /etc/portage/patches/app-text/poppler and add this in /etc/portage/bashrc

post_src_unpack() {
        cd "${S}"
        epatch_user
}

Then emerge poppler-0.16.7.  You can undo the above again after building.  I keep it though so I can apply patches like this to other ebuilds too.
Comment 7 Giuseppe Vitillaro 2011-09-29 11:30:09 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > I can confirm the exact same issue on my ~amd64 laptop. Any workarounds besides
> > downgrading poppler? When I try to mask 0.18.0 the next version in the tree is
> > version 0.16.7 which fails to build on my system.
> 
> Put the patch from bug 384789 in /etc/portage/patches/app-text/poppler and add
> this in /etc/portage/bashrc
> 
> post_src_unpack() {
>         cd "${S}"
>         epatch_user
> }
> 
> Then emerge poppler-0.16.7.  You can undo the above again after building.  I
> keep it though so I can apply patches like this to other ebuilds too.

Confirm. The problem exist in my system too and I add to mask 0.18.0 and apply the patch from bug 384789.
Comment 8 Dell'Aica Valentino 2011-09-30 08:10:13 UTC
Confirmed on x86. Downgrading to stable poppler solve problem
Comment 9 Nikos Chantziaras 2011-09-30 08:15:04 UTC
Upstream is aware of this issue. However, they only support the version of Poppler they bundle with the distribution. So this will be fixed when they bundle a new version:

http://article.gmane.org/gmane.comp.tex.luatex/2603
Comment 10 Billy DeVincentis 2011-09-30 10:55:50 UTC
This is a problem I hit too. Does anyone have a patch to try to get it to build against the new poppler now?
Comment 11 Martin von Gagern 2011-09-30 12:46:06 UTC
Created attachment 288363 [details, diff]
Drop LUA bindings for removed poppler API

This patch makes luatex compile for me.

‘virtual Annot::~Annot()’ is protected (since 0.17.0)
http://cgit.freedesktop.org/poppler/poppler/commit/?id=664865a2ddca9c20
Replace "delete (Annot *)foo" with "((Annot *)foo)->decRefCnt()"

‘AnnotBorderStyle’ was not declared (since 0.17.0)
http://cgit.freedesktop.org/poppler/poppler/commit/?id=2bf82f27bd9c8f97
http://cgit.freedesktop.org/poppler/poppler/commit/?id=fa0bb5bbea5bf276
Seems like AnnotBorderStyle was somehow replaced by AnnotBorder.
That change was back in poppler 0.10.0, only the cleanup was later in 0.17.0.

‘EmbFile’ was not declared (since 0.17.2)
http://cgit.freedesktop.org/poppler/poppler/commit/?id=04dfb2c984b3c994
Apparently EmbFile was replaced by FileSpec, but most methods are different.

The first fix is easy, but the other two require a decision. We could either try to maintain the LUA API even as poppler broke its C API. That would ensure that lua scripts making use of this code were to remain functional. But it would also mean writing a heavy compatibility layer, and deliberately diverging from poppler upstream.

The other choice would be dropping the removed API from the LUA interface as well. This would be a deliberate divergence from luatex upstream and their bundled poppler. There might be scripts out there relying on that poppler API, and they woudln't work with Gentoo luatex, at least not if that was compiled against recent poppler. I guess the number of such scripts should be pretty rare, though. So the attached patch follows this route.

I see little point in making new API (FileSpec in particular) available in luatex on Gentoo before luatex upstream does so. It's unlikely people will be writing code to use that API before. If someone needs it nevertheless, he'd have to come up with a patch to address this.
Comment 12 Martin von Gagern 2011-09-30 12:52:21 UTC
By the way, can someone who still has poppler 0.16 around please give this patch a try, to see whether that compiles as well? It should contain suitable ifdefs, but it would be better to know for sure, particularly to verify that the poppler/cpp/poppler-version.h header is found by the preprocessor.
Comment 13 Martin von Gagern 2011-09-30 13:31:39 UTC
Created attachment 288369 [details, diff]
Drop LUA bindings for removed poppler API

Had a stray reference to FileSpec in the part used by old poppler.
Comment 14 Martin von Gagern 2011-09-30 13:33:29 UTC
(In reply to comment #11)
> That change was back in poppler 0.10.0, only the cleanup was later in 0.17.0.

Change was even 0.7.0; git tag sorts its output alphabetically, not numerically.
Comment 15 Roby 2011-09-30 18:08:10 UTC
Just a note that the patch from post #13 makes luatex-0.70.1 compilable with poppler-0.18.0.
Comment 16 milev.philip 2011-10-01 09:49:06 UTC
The patch form #13 works for me too.
Comment 17 Billy DeVincentis 2011-10-01 18:11:33 UTC
Created attachment 288457 [details]
gentoo384875b.patch

Had a problem downloading this patch. For simplicity sake I have reuploaded and named the patch to this bug. Patch indeed works and allows luatex to emerge. Thanks.
Comment 18 Billy DeVincentis 2011-10-01 18:13:18 UTC
Created attachment 288459 [details]
Ebuild folder for overlay

Just drop this into an overlay and it works.
Comment 19 James L. Hammons 2011-10-01 19:03:37 UTC
Can confirm the patch works on ~x86. Any chance of rolling this up into an -r1 release any time soon? :-)
Comment 20 Martin von Gagern 2011-10-01 19:12:03 UTC
(In reply to comment #19)
> Any chance of rolling this up into an -r1 release any time soon? :-)

It's a compile-time issue, so there is no need to bump the revision for this.
Comment 21 Billy DeVincentis 2011-10-01 23:40:54 UTC
Sorry, my upload of the same patch was unnecessary. Please use earlier patch
Comment 22 Martin von Gagern 2011-10-03 15:54:59 UTC
(In reply to comment #9)
> Upstream is aware of this issue.

(In reply to comment #13)
> Created attachment 288369 [details, diff]
> Drop LUA bindings for removed poppler API

Sent them my patch, to deal with as they see fit:
http://thread.gmane.org/gmane.comp.tex.luatex/2630

Gentoo should definitely fix this at the distro level, even if upstream does not, as it is Gentoo who decided (righhtly so) not to use the bundled poppler.
Comment 23 Guy 2011-10-04 05:20:04 UTC
Thanks for the patch. Worked perfectly on my ~amd64 based systems.
Comment 24 Philipp 2011-10-04 06:47:47 UTC
Created attachment 288741 [details, diff]
Another patch that uses the version macros from poppler/glib/poppler-features.h
Comment 25 Philipp 2011-10-04 06:48:19 UTC
The patch by Martin requires the C++ API of poppler which is not needed by luatex (poppler[cxx]), so the compile process failed for me.
There is another set of version macros in <poppler/glib/poppler-features.h>, which are spelled differently.
I don't know by which useflag this header is enabled (presumably by xpdf-headers, which luatex already needs).
In any case, I made a different patch that uses these version macros instead.
Comment 26 Francesco Riosa 2011-10-04 19:42:03 UTC
> (In reply to comment #19)
> > Any chance of rolling this up into an -r1 release any time soon? :-)
> 
> It's a compile-time issue, so there is no need to bump the revision for this.
> (In reply to comment #20)

please do a rev-bump when patch is ready, even if it's a compile time issue, this way it will be caught by an `emerge -uD world` even if we forget about this bug and don't run revdep-rebuild for some time.

TIA
Comment 27 Nikolaj Šujskij 2011-10-04 19:47:10 UTC
(In reply to comment #26)
> please do a rev-bump when patch is ready, even if it's a compile time issue,
 Martin means that there's no need in bumping revision, since there's no need to recompile luatex for those who have it installed and working. And issues with revdep-rebuilding or first installation (like this) would be remedied by new ebuild with old name.
Comment 28 Francesco Riosa 2011-10-04 20:29:55 UTC
(In reply to comment #27)
> (In reply to comment #26)
> > please do a rev-bump when patch is ready, even if it's a compile time issue,
>  Martin means that there's no need in bumping revision, since there's no need
> to recompile luatex for those who have it installed and working. And issues
> with revdep-rebuilding or first installation (like this) would be remedied by
> new ebuild with old name.

I've it installed and not working, ldd show missing libpoppler.so.13, while revdep-rebuild will rebuild luatex I'm updating more often than revdep-rebuilding, thus my request.

While it's totally correct not to revbump if the package never builded for some systems (it will be caught also by an update), in this case it got broken after the first install and it's a cheap to build package involving many users so the developers may find useful to clean any doubt and forcing a rebuild for everybody.

just my 0.02€
Comment 29 Mark Loeser (RETIRED) gentoo-dev 2011-10-04 23:25:36 UTC
(In reply to comment #25)
> The patch by Martin requires the C++ API of poppler which is not needed by
> luatex (poppler[cxx]), so the compile process failed for me.
> There is another set of version macros in <poppler/glib/poppler-features.h>,
> which are spelled differently.
> I don't know by which useflag this header is enabled (presumably by
> xpdf-headers, which luatex already needs).
> In any case, I made a different patch that uses these version macros instead.

Those headers are pulled in by poppler[cairo].  Is there any other way to go about this that doesn't force either of those features on for poppler?  (I don't know much about this package, but am willing to proxy the appropriate patch to fix this)
Comment 30 Martin von Gagern 2011-10-05 06:08:10 UTC
(In reply to comment #29)
> Is there any other way to go
> about this that doesn't force either of those features on for poppler?

Poppler apparently doesn't unconditionally install any header file giving its version number. So I'd consider these approaches:

1. Remove #ifdefs from the patch, and apply it conditionally, based on the
   result of has_version.
2. Patch configure to read "pkg-config --modversion poppler" and define a
   suitable macro there.
3. Patch configure to perform a suitable feature test.

1. is easiest for Gentoo, although it's not an option for upstream.

(In reply to comment #22)
> Sent them my patch, to deal with as they see fit:
> http://thread.gmane.org/gmane.comp.tex.luatex/2630

Hartmut Henkel replied to that: "Seems it's still not too late just to remove these few (non-essential) api functions, unconditionally."

So we might consider doing the same. Still leaves the change drom delete to decRefCnt, though, so we still have to make a decision based on poppler version.
Comment 31 Martin von Gagern 2011-10-05 06:58:29 UTC
Created attachment 288823 [details, diff]
Patch to be applied conditionally

This patch does the modifications required for poppler 0.18.0 without checking any preprocessor macros. It should be applied conditionally, i.e.

has_version '>=app-text/poppler-0.18.0:0' && epatch "${FILESDIR}/this.patch"
Comment 32 Alexis Ballier gentoo-dev 2011-10-05 18:10:17 UTC
(In reply to comment #31)
> Created attachment 288823 [details, diff]
> Patch to be applied conditionally
> 
> This patch does the modifications required for poppler 0.18.0 without checking
> any preprocessor macros. It should be applied conditionally, i.e.
> 
> has_version '>=app-text/poppler-0.18.0:0' && epatch "${FILESDIR}/this.patch"

applied this one as such, thx!
Comment 33 Matt Turner gentoo-dev 2011-10-15 15:17:59 UTC
*** Bug 385929 has been marked as a duplicate of this bug. ***