When trying to update Apache the compile fails when looking for the SASL library libsasl2.la. I think the problem is related to the following line: libtool: link: cannot find the library `/var/tmp/portage/cyrus-sasl-2.1.18-r2/image//usr/lib/libsasl2.la' It looks like Portage has given libtool a relative link to libsasl2.la when it should have given an absolute link. Doing 'ls /usr/lib/libsasl2.la' shows that the file is there. I've tried uninstalling and reinstalling Cyrus SASL and creating a link from /var/tmp/portage/cyrus-sasl-2.1.18-r2/image/usr/lib/libsasl2.la to the actual library, but it didn't help. The version of Apache I currently have installed is 2.0.50, the update is 2.0.52-r1. The Cyrus SASL version is 2.1.18-r2 This all started happening quite suddenly - I haven't made any USE flag changes or anything similar. One day it worked, then next it didn't... Reproducible: Always Steps to Reproduce: 1. emerge apache -u Actual Results: /var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/srclib/apr/libtool --silent --mode=link gcc -pthread -mcpu=7400 -O2 -pipe -fsigned-char -maltivec -mabi=altivec -mpowerpc-gfxopt -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DAP_HAVE_DESIGNATED_INITIALIZER -I/var/tmp/portage/apache-2.0.52-r1/work/ httpd-2.0.52/srclib/apr/include -I/var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/srclib/apr- util/include -I. -I/var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/os/unix -I/var/tmp/ portage/apache-2.0.52-r1/work/httpd-2.0.52/server/mpm/prefork -I/var/tmp/portage/apache -2.0.52-r1/work/httpd-2.0.52/modules/http -I/var/tmp/portage/apache-2.0.52-r1/work/httpd -2.0.52/modules/filters -I/var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/modules/proxy -I/ var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/include -I/var/tmp/portage/apache-2.0.52- r1/work/httpd-2.0.52/modules/generators -I/usr/include/openssl -I/var/tmp/portage/apache -2.0.52-r1/work/httpd-2.0.52/modules/dav/main -export-dynamic -L/usr/lib -o htdigest htdigest.lo -lz -lssl -lcrypto -ldl /var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/srclib/ pcre/libpcre.la /var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/srclib/apr-util/libaprutil-0.la -lldap -llber -lgdbm -ldb-4.1 -lexpat /var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/srclib/ apr/libapr-0.la -lrt -lm -lcrypt -lnsl -lpthread -ldl libtool: link: cannot find the library `/var/tmp/portage/cyrus-sasl-2.1.18-r2/image//usr/lib/ libsasl2.la' make[2]: *** [htpasswd] Error 1 make[2]: *** Waiting for unfinished jobs.... libtool: link: cannot find the library `/var/tmp/portage/cyrus-sasl-2.1.18-r2/image//usr/lib/ libsasl2.la' make[2]: *** [htdigest] Error 1 make[2]: Leaving directory `/var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/support' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/apache-2.0.52-r1/work/httpd-2.0.52/support' make: *** [all-recursive] Error 1 !!! ERROR: net-www/apache-2.0.52-r1 failed. !!! Function src_compile, Line 191, Exitcode 2 !!! problem compiling Apache2 :( !!! If you need support, post the topmost build error, NOT this status message. Expected Results: Updated Apache. Output from emerge info: Portage 2.0.51-r3 (default-ppc-2004.0, gcc-3.4.1, glibc-2.3.3.20040420-r2, 2.6.7-gentoo-r5 ppc) =============================================================== == System uname: 2.6.7-gentoo-r5 ppc 0 Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.3-r3 Headers: sys-kernel/linux-headers-2.4.22 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="ppc" AUTOCLEAN="yes" CFLAGS="-mcpu=7400 -O2 -pipe -fsigned-char -maltivec -mabi=altivec -mpowerpc-gfxopt" CHOST="powerpc-unknown-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=7400 -O2 -pipe -fsigned-char -maltivec -mabi=altivec -mpowerpc-gfxopt" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distlocks" GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/ gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa altivec apache2 arts audiofile berkdb dvd esd f77 fortran gd gif gkt2 gnome gnome-libs gpm gtk imap imlib java jpeg ldap libwww mad maildir motif mozilla mysql nls oggvorbis opengl pam perl png ppc python readline samba sasl slang ssl tcltk tcpd tiff truetype usb xmms zlib"
/usr/lib/libsasl2* exist?
Hi, Thanks for checking my bug out.. When I do the following: jools root # ls /usr/lib/libsasl2* -la -rwxr-xr-x 1 root root 657 Oct 31 10:47 /usr/lib/libsasl2.la lrwxrwxrwx 1 root root 18 Oct 31 10:47 /usr/lib/libsasl2.so -> libsasl2.so.2.0.18 lrwxrwxrwx 1 root root 18 Oct 31 10:47 /usr/lib/libsasl2.so.2 -> libsasl2.so.2.0.18 -rwxr-xr-x 1 root root 99176 Oct 31 10:47 /usr/lib/libsasl2.so.2.0.18 it shows that the library exists :(
find /usr/lib -iname "*\.la" -exec sed -i -r -e "s:/var/tmp/portage/.*/image/::g" '{}' \; should fix the problem for you. base-system herd: Is this problem fixed in between? I'm to blind to find the related bug right now.
the trick is to re-emerge the broken package and see if the resulting .la file ends up with bum paths in it still
SpanKY: Usually yes, but I have seen a number of threads, were it did not work, while the corresponding ebuild merged correctly for me. I still suspect there's another problem, if it wasn't found yet.
Hi Carsten, Thanks, that fixed it :) If you don't mind me wasting more of your time, what was wrong? My sed isn't, well, anything actually... Cheers, Alex
alex p: The paths in the .la files were not correctly rewritten from the sandbox location to their final destination. I'm not sure what the real reason is, but this happens too often, lately. Btw. the downside of the sed replacement is, that the mtime's of the changed files differ now from the ones stored by portage, so it may happen, that you'll end with some stale .la files over the time. There're for sure scripts somewhere in forums.g.o or elsewhere, to list stale files, so you can remove them, once you should have any issues.