When installing ghostscript-gpl, it compiles normally to the point of using its own bundled 'genconf' utility. It fails to properly parse gcc flags and compilation aborts. This only happens when "cups" USE-flag is set. Without this flag everything installs as normal. Attached is the error. Reproducible: Always Steps to Reproduce: 1. USE="cups" emerge ghostscript-gpl 2. Wait a little bit 3. Stumble upon an error Actual Results: Build process fails when invoking 'genconf' tool. Expected Results: Ghostscript installs correctly ;) Portage 2.1.4_rc10 (default-linux/amd64/2007.0, gcc-4.2.2, glibc-2.7-r1, 2.6.23-gentoo-r4 x86_64) ================================================================= System uname: 2.6.23-gentoo-r4 x86_64 Intel(R) Xeon(R) CPU E5335 @ 2.00GHz Timestamp of tree: Thu, 20 Dec 2007 07:30:01 +0000 app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.1.3 dev-lang/python: 2.5.1-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r2 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -fforce-addr -momit-leaf-frame-pointer -ftree-vectorize -ftracer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=native -O2 -pipe -fforce-addr -momit-leaf-frame-pointer -ftree-vectorize -ftracer" DISTDIR="/usr/portage/distfiles" FEATURES="candy distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://files.compot.ru/linux/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/" LANG="ru_RU.utf8" LINGUAS="ru" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl acpi amd64 apache2 bash-completion berkdb bitmap-fonts bzip2 caps cdr cli cracklib crypt cups curl dri fortran gdbm gmp gpm iconv idn isdnlog java kerberos ldap logrotate midi mmx mudflap mysql ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection ruby samba sasl session spl sqlite sse sse2 ssl tcl tcpd test threads truetype-fonts type1-fonts unicode usb vhosts vim-syntax xml zlib" APACHE2_MODULES="actions alias auth_basic auth_digest authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="event" ELIBC="glibc" KERNEL="linux" LINGUAS="ru" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Also tried building gs with CFLAGS="-march=native -O2 -pipe" without success.
Here's the error: ./obj/../soobj/echogs -e .dev -w- -l-obj ./obj/../soobj/strdline ./obj/../soobj/gp_strdl.o ./obj/../soobj/echogs -e .dev -w- -l-obj ./obj/../soobj/libcore ./obj/../soobj/echogs -e .dev -a- ./obj/../soobj/libcore -dev2 nullpage ./obj/../soobj/echogs -e .dev -a- ./obj/../soobj/libcore -include ./obj/../soobj/libs ./obj/../soobj/libx ./obj/../soobj/libd ./obj/../soobj/echogs -e .dev -a- ./obj/../soobj/libcore -include ./obj/../soobj/iscale ./obj/../soobj/no16bit ./obj/../soobj/no12bit ./obj/../soobj/noroplib ./obj/../soobj/echogs -e .dev -a- ./obj/../soobj/libcore -include ./obj/../soobj/strdline ./obj/../soobj/genconf ./obj/../soobj/devs.tr -h ./obj/../soobj/gconfxx.h -p "%s&s&&" -pl "&-l%s&s&&" -pL "&-L%s&s&&" -ol ./obj/../soobj/ld.tr Definition not recognized: momiteaf-frame-pointer gssapi_krb5. make[1]: *** [obj/../soobj/ld.tr] Ошибка 1 make[1]: Leaving directory `/var/tmp/portage/app-text/ghostscript-gpl-8.61-r1/work/ghostscript-8.61' make: *** [so] Ошибка 2 * * ERROR: app-text/ghostscript-gpl-8.61-r1 failed. * Call stack: * ebuild.sh, line 46: Called src_compile * environment, line 3255: Called die * The specific snippet of code: * emake -j1 so all || diefunc "$FUNCNAME" "$LINENO" "$?" "emake failed"; * The die message: * emake failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/app-text/ghostscript-gpl-8.61-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-text/ghostscript-gpl-8.61-r1/temp/environment'. *
Here's the forum thread which describes very similar problem: http://forums.gentoo.org/viewtopic-p-4602455.html It seems genconf parser fails to recognize '-l' sequence within options and treats them as library names.
You have to recompile cups with sane cflags.
*** Bug 210349 has been marked as a duplicate of this bug. ***
(In reply to comment #4) > You have to recompile cups with sane cflags. Eh? The thing is obviously broken.
(In reply to comment #6) > (In reply to comment #4) > > You have to recompile cups with sane cflags. > > Eh? The thing is obviously broken. > Temporary solution Try to compile ghostscript-gpl with USE="-cups" Then recompile cups without -momit-leaf-frame-pointer CFLAGS and again recompile ghostscript-gpl with USE="cups"
Fixed in the recent cups-1.3.7 version, please test and reopen if ghostscript-gpl still fails with that cups version installed.
I found the problem emerging ghostscript-gpl 8.62. The quick fix worked.