Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 355247 - x11-libs/cairo - .la files are removed from install causing build failures in reverse dependency packages
Summary: x11-libs/cairo - .la files are removed from install causing build failures in...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-16 20:05 UTC by Jiří Moravec
Modified: 2011-02-18 13:59 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jiří Moravec 2011-02-16 20:05:37 UTC
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
Comment 1 Rafał Mużyło 2011-02-16 20:44:50 UTC
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
Comment 2 Jiří Moravec 2011-02-16 22:05:52 UTC
(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?

Comment 3 Rafał Mużyło 2011-02-17 00:01:17 UTC
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 ?
Comment 4 Jiří Moravec 2011-02-17 09:41:28 UTC
(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."
Comment 5 Jiří Moravec 2011-02-17 10:04:50 UTC
(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?
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2011-02-18 13:59:07 UTC
(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.