When I tried to build cairo package, build ended with error: ... cairo-qt-surface.cpp:1302: warning: called from here CXXLD libcairo_cxx.la /bin/grep: /usr/lib64/libX11.la: No such file or directory /bin/sed: can't read /usr/lib64/libX11.la: No such file or directory libtool: link: `/usr/lib64/libX11.la' is not a valid libtool archive make[3]: *** [libcairo_cxx.la] Error 1 make[3]: Leaving directory `/var/tmp/portage/x11-libs/cairo-1.10.2-r1/work/cairo-1.10.2/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/x11-libs/cairo-1.10.2-r1/work/cairo-1.10.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/x11-libs/cairo-1.10.2-r1/work/cairo-1.10.2' make: *** [all] Error 2 emake failed After investigation a I founded reason for that. ALL newly builded packages are stripped from their .la files. File /usr/lib64/libX11.la missing by cairo must be provided by x11-libs/libX11 package, but at the end of the install phase log contain these lines: make[2]: Leaving directory `/var/tmp/portage/x11-libs/libX11-1.4.1/work/libX11-1.4.1_build' make[1]: Leaving directory `/var/tmp/portage/x11-libs/libX11-1.4.1/work/libX11-1.4.1_build' Removing unnecessary /var/tmp/portage/x11-libs/libX11-1.4.1/image/usr/lib64/libX11-xcb.la Removing unnecessary /var/tmp/portage/x11-libs/libX11-1.4.1/image/usr/lib64/libX11.la >>> Completed installing libX11-1.4.1 into /var/tmp/portage/x11-libs/libX11-1.4.1/image/ Same thing in case x11-libs/pixman // x11-libs/libgksu. Building libgksu failed: /bin/grep: /usr/lib64/libpixman-1.la: No such file or directory /bin/sed: can't read /usr/lib64/libpixman-1.la: No such file or directory libtool: link: `/usr/lib64/libpixman-1.la' is not a valid libtool archive And pixman build log contain this line: Removing unnecessary /var/tmp/portage/x11-libs/pixman-0.20.2/image/usr/lib64/libpixman-1.la Actually all libs I builded after 2011.01.29 have no .la files in packages! Why install in portage was changed to removing .la files when they are NEEDED? Reproducible: Always Actual Results: missing .la files Expected Results: existing .la files obelix dev-libs # emerge --info Portage 2.2.0_alpha24 (hardened/linux/amd64, gcc-4.4.5-vanilla, glibc-2.12.2-r0, 2.6.37-x3 x86_64) ================================================================= System uname: Linux-2.6.37-x3-x86_64-AMD_Phenom-tm-_II_X4_965_Processor-with-gentoo-2.0.1 Timestamp of tree: Wed, 16 Feb 2011 12:30:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.6.6-r1, 3.1.2-r4 dev-util/ccache: 2.4-r9 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 2.0.1-r1 sys-apps/openrc: 0.7.0 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.13, 2.65-r1 sys-devel/automake: 1.4_p6-r1, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20, 2.20.1-r1 sys-devel/gcc: 4.4.5, 4.5.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.10 sys-devel/make: 3.81-r2 virtual/os-headers: 2.6.36.1::jim-private (sys-kernel/linux-headers) Repositories: gentoo java-overlay x11 xen bangert sunrise empty jim-private hardened-dev Installed sets: ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -mtune=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/openvpn/easy-rsa /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--keep-going" FEATURES="assume-digests binpkg-logs buildpkg ccache collision-protect distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org http://ftp.sh.cvut.cz/MIRRORS/gentoo http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/" LANG="cs_CZ.utf-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="cs" MAKEOPTS="-j6" PKGDIR="/opt64/portage/packages/k8" PORTAGE_CONFIGROOT="/" 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="/var/tmp" PORTDIR="/usr/portage/ebuilds" PORTDIR_OVERLAY="/usr/portage/overlays/layman/java-overlay /usr/portage/overlays/layman/x11 /usr/portage/overlays/layman/xen /usr/portage/overlays/layman/bangert /usr/portage/overlays/layman/sunrise /usr/portage/overlays/generic /usr/portage/overlays/hardened" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext 7zip X acl acpi alsa amd64 bash-completion berkdb bzip2 cairo caps cli cracklib crypt cups cxx dbus dri dvd encode faac faad fbcon fbcondecor fbsplash ffmpeg flac gallium gdbm gif gnutls gpm gtk hardened hvm iconv id3tag iproute2 ipv6 java java6 jpeg jpeg2k justify kde kerberos lzma lzo matroska mmx mng modules mp3 mp4 mpeg mpeg2 mpeg4 mudflap multilib mysql ncurses nfs nfsv3 nfsv4 nls nptl nptlonly nsplugin ogg openal opengl openmp pam pcre pdf perl pic pie png pppd prelink python qt3support qt4 readline samba sdl session slang sse sse2 sse3 ssl svg sysfs tcpd theora tiff truetype unicode urandom usb userlocales vnc vorbis vpx webkit x264 xattr xen xml xorg xv zlib" ALSA_CARDS="hda-intel" 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 cgi cgid 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="cs" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon r600" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Those files aren't needed. 1. Portage had been cleaning up installed la files for awhile, so references to other la files are replaced with references to the libs 2. There's always revdep-rebuild/lafilefixer
(In reply to comment #1) > Those files aren't needed. > > 1. Portage had been cleaning up installed la files for awhile, > so references to other la files are replaced with references to the libs > 2. There's always revdep-rebuild/lafilefixer > Sorry but I'm not so sure. I have no inconsistencies which can be finded and resolved by revdep-rebuild. lafilefixer, if I understand correctly its function, is a tool for correcting corrupted existing .la files and not for creating new ones. And I actually tried this tool before bug filling: 'lafilefixer --justfixit /usr/lib64/'. My problem is that I'm unable to upgrade or reemerge some sw installed on my pc, so from my point of view those files ARE needed. So how I can resolve that problem? Or better: How you resolved that problem?
That's cause it doesn't create any, just fixes existing ones. IIRC, 'lafilefixer --justfixit' doesn't take other arguments. What was it's output ? Also, how old is your gentoolkit ?
(In reply to comment #3) > That's cause it doesn't create any, just fixes existing ones. > > IIRC, 'lafilefixer --justfixit' doesn't take other arguments. > What was it's output ? > > Also, how old is your gentoolkit ? > app-portage/gentoolkit-0.3.0_rc11-r3. Does it mean that I need devel-9999 version? lafilefixer --justfixit has 824 lines and all of them ended with "already clean, skipping update."
(In reply to comment #4) > (In reply to comment #3) > > That's cause it doesn't create any, just fixes existing ones. > > > > IIRC, 'lafilefixer --justfixit' doesn't take other arguments. > > What was it's output ? > > > > Also, how old is your gentoolkit ? > > > > app-portage/gentoolkit-0.3.0_rc11-r3. Does it mean that I need devel-9999 > version? > > lafilefixer --justfixit has 824 lines and all of them ended with "already > clean, skipping update." > Apparently everything is functional. After I runned 'lafilefixer --justfixit' emerging both cairo and libgksu were without problem. So I'm sorry about this alarm. Is there, just for case when another user will experience same situation, any howto or warning about this portage/build behaviour? Which I probable missed?
(In reply to comment #5) > Is there, just for case when another user will experience same situation, any > howto or warning about this portage/build behaviour? Which I probable missed? Newer portage versions, like the one you are using, already fix this, but for packages installed before you upgraded sys-apps/portage, the way to go is to run lafilefixer and all your installed packages should be OK for the future.