The libxslt configure script in a Solaris prefix invokes /usr/bin/ld directly, misidentifies it, and passes the wrong ld parameters. Reproducible: Always Steps to Reproduce: $ emerge libxslt Actual Results: (The ld version script argument is passed incorrectly.) libtool: link: i386-pc-solaris2.11-gcc -shared .libs/attrvt.o .libs/xslt.o .libs/xsltlocale.o .libs/xsltutils.o .libs/pattern.o .libs/templates.o .libs/variables.o .libs/keys.o .libs/numbers.o .libs/extensions.o .libs/extra.o .libs/functions.o .libs/namespaces.o .libs/imports.o .libs/attributes.o .libs/documents.o .libs/preproc.o .libs/transform.o .libs/security.o -Wl,-rpath -Wl,/gentoo/usr/lib -Wl,-rpath -Wl,/gentoo/usr/lib -L/gentoo/usr/lib /gentoo/usr/lib/libxml2.so -lz -lpthread /gentoo/usr/lib/libiconv.so -lsocket -lnsl -lm -lc -Wl,-M -Wl,./libxslt.syms -Wl,-soname -Wl,libxslt.so.1 -o .libs/libxslt.so.1.1.26 ./libxslt.syms: file not recognized: File format not recognized collect2: ld returned 1 exit status make[2]: *** [libxslt.la] Error 1 make[2]: Leaving directory `/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/work/libxslt-1.1.26/libxslt' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/work/libxslt-1.1.26' make: *** [all] Error 2 * ERROR: dev-libs/libxslt-1.1.26 failed: * emake failed * * Call stack: * ebuild.sh, line 57: Called call-ebuildshell 'src_compile' * environment, line 482: Called src_compile * environment, line 2886: Called _eapi2_src_compile * ebuild.sh, line 697: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =dev-libs/libxslt-1.1.26', * the complete build log and the output of 'emerge -pqv =dev-libs/libxslt-1.1.26'. * The complete build log is located at '/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/temp/build.log'. * The ebuild environment file is located at '/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/temp/environment'. * S: '/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/work/libxslt-1.1.26' >>> Failed to emerge dev-libs/libxslt-1.1.26, Log file: >>> '/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/temp/build.log' * Messages for package dev-libs/libxslt-1.1.26: * ERROR: dev-libs/libxslt-1.1.26 failed: * emake failed * * Call stack: * ebuild.sh, line 57: Called call-ebuildshell 'src_compile' * environment, line 482: Called src_compile * environment, line 2886: Called _eapi2_src_compile * ebuild.sh, line 697: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =dev-libs/libxslt-1.1.26', * the complete build log and the output of 'emerge -pqv =dev-libs/libxslt-1.1.26'. * The complete build log is located at '/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/temp/build.log'. * The ebuild environment file is located at '/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/temp/environment'. * S: '/gentoo/var/tmp/portage/dev-libs/libxslt-1.1.26/work/libxslt-1.1.26' Expected Results: (Patch attached.) $ emerge --info Portage 2.2.00.14701-prefix (prefix/sunos/solaris/5.11/x86, gcc-4.4.2, unavailable, 5.11 i86pc) ================================================================= System uname: Solaris-2.11-i86pc-i386-32bit-ELF Timestamp of tree: Thu, 22 Oct 2009 19:58:32 +0000 app-shells/bash: 4.0_p33-r00.1 dev-lang/python: 2.6.2-r2 sys-devel/autoconf: 2.63-r01.1 sys-devel/automake: 1.10.2-r00.1, 1.11 sys-devel/binutils: 2.20.51.0.2 sys-devel/gcc-config: 1.4.1-r00.2 sys-devel/libtool: 2.2.6a-r00.2 ACCEPT_KEYWORDS="~x86-solaris" CBUILD="i386-pc-solaris2.11" CFLAGS="" CHOST="i386-pc-solaris2.11" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/terminfo" CXXFLAGS="" DISTDIR="/gentoo/usr/portage/distfiles" FEATURES="assume-digests collision-protect distlocks fixpackages news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US.UTF-8" LDFLAGS="" PKGDIR="/gentoo/usr/portage/packages" PORTAGE_CONFIGROOT="/gentoo/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/gentoo/var/tmp" PORTDIR="/gentoo/usr/portage" PORTDIR_OVERLAY="/gentoo/usr/local/portage" SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix" USE="cracklib modules ncurses prefix readline ssl x86-solaris zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic 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 rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="SunOS" INPUT_DEVICES="keyboard mouse" KERNEL="SunOS" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 208069 [details, diff] patch for libxslt-1.1.26 to correctly detect the Gentoo prefix ld on Solaris
Thanks for your patch! However, I already applied a similar fix yesterday, and filed this upstream bug: https://bugzilla.gnome.org/show_bug.cgi?id=599396 Can you check if this works for you too?
Yes, I got the patch from the upstream bug after a sync, and it works the same on my Solaris prefix.