Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 86604 - packages fail to build b/c of libtool lock failure
Summary: packages fail to build b/c of libtool lock failure
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-24 19:11 UTC by Igor Terekhov
Modified: 2006-10-05 00:00 UTC (History)
0 users

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 Igor Terekhov 2005-03-24 19:11:47 UTC
Packages such as "fam", "id3lib" fail to buid. Make goes into infinite loop:



Reproducible: Always
Steps to Reproduce:
1. Just type "emerge id3lib"
2.
3.

Actual Results:  
BEGIN EXCERPT

/bin/sh ../libtool --mode=compile i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.
-I.. -I../include/id3 -I../include   -Wno-deprecated  -v -O2 -march=pentium4
-fomit-frame-pointer -c -o field.lo `test -f 'field.cpp' || echo './'`field.cpp
Waiting for c_wrapper.o.lock to be removed
Waiting for field.o.lock to be removed
Waiting for c_wrapper.o.lock to be removed
Waiting for field.o.lock to be removed
Waiting for c_wrapper.o.lock to be removed
Waiting for field.o.lock to be removed

END EXCERPT

INFINITE LOOP HERE is observed

Expected Results:  
finish compilation w/o the spurios locking pbm

The bug is resilient to the parallel build settings, i.e. whethre there is
a line in make.conf: 

MAKEOPTS="-j 2".

The problem can be worked around by setting environment variable
"enable_libtool_lock" to "no". For example, the following command succeeds

steper-popper root # enable_libtool_lock=no emerge id3lib

However, it's not a satisfactory workaround as it might compromise parallel
builds...
Comment 1 SpanKY gentoo-dev 2005-03-25 09:52:46 UTC
you neglected to provide `emerge info` like the bug report page says to

also, do you have /var/tmp/portage on a sep partition from /usr/bin ?
Comment 2 Carl Michal 2005-04-01 13:08:10 UTC
I have seen this behaviour as well.  I have PORTAGE_TMPDIR set to a different partition from /usr/bin.  If I unset it in make.conf so it uses the default /var/tmp/portage (which is on the same partition as /usr/bin) the problem goes away.  I saw this in trying to compile rep-gtk and sawfish.

my emerge info:

Portage 2.0.51.19 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r4 i686)
=================================================================
System uname: 2.6.11-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb  7 2005, 23:35:42)]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -Wl,--as-needed"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -Wl,--as-needed"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp://gentoo.ccccom.com ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://cudlug.cudenver.edu/gentoo/ ftp://gentoo.mirrors.pair.com/"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X alsa apm avi berkdb bitmap-fonts cdr crypt cups curl dvd emboss encode esd fam flac font-server foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 hal imagemagick imlib java jpeg libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg ncurses network nls oggvorbis opengl oss pam pdflib perl png ppds python quicktime readline real sdl slang snmp spell sse ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts xml xml2 xmms xv xvmc zlib video_cards_i830"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS

Comment 3 Jason Stubbs (RETIRED) gentoo-dev 2005-04-24 19:12:26 UTC
# echo "int some_variable = 0;" > conftest.c
# gcc -c -march=pentium4 -O3 -pipe -fomit-frame-pointer -Wl,--as-needed -o conftest.o conftest.c
gcc: --as-needed: linker input file unused because linking not done


^^^ that's what's causing the problem in your case.
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2006-10-05 00:00:28 UTC
user-error with old as-needed stuff.