Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 19221 - libdv-0.98 doesn't build because of corrupted object file
Summary: libdv-0.98 doesn't build because of corrupted object file
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Dan Armak (RETIRED)
URL:
Whiteboard:
Keywords:
: 19223 21680 28313 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-04-13 01:33 UTC by david mattatall
Modified: 2003-11-12 07:44 UTC (History)
6 users (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 david mattatall 2003-04-13 01:33:02 UTC
Coinfigure runs without errors then boom! The make fails 

Reproducible: Always
Steps to Reproduce:
1. emerge  libdv 
Actual Results:  
make  all-recursive 
make[1]: Entering directory `/var/tmp/portage/libdv-0.98/work/libdv-0.98' 
Making all in libdv 
make[2]: Entering directory `/var/tmp/portage/libdv-0.98/work/libdv-0.98/libdv' 
source='gasmoff.c' object='gasmoff.o' libtool=no \ 
depfile='.deps/gasmoff.Po' tmpdepfile='.deps/gasmoff.TPo' \ 
depmode=gcc3 /bin/sh ../depcomp \ 
gcc -DHAVE_CONFIG_H -I. -I. -I..     -g -O2 -Wall -I/usr/include/SDL -D_REENTRANT -c 
`test -f gasmoff.c || echo './'`gasmoff.c 
source='bitstream.c' object='bitstream.o' libtool=no \ 
depfile='.deps/bitstream.Po' tmpdepfile='.deps/bitstream.TPo' \ 
depmode=gcc3 /bin/sh ../depcomp \ 
gcc -DHAVE_CONFIG_H -I. -I. -I..     -g -O2 -Wall -I/usr/include/SDL -D_REENTRANT -c 
`test -f bitstream.c || echo './'`bitstream.c 
/bin/sh ../libtool --silent --mode=link gcc  -g -O2 -Wall -I/usr/include/SDL -D_REENTRANT   
-o gasmoff  gasmoff.o bitstream.o  -lpopt -lm  -L/usr/lib -Wl,-rpath,/usr/lib -lSDL 
-lpthread 
libtool: link: cannot find the library `' 
make[2]: *** [gasmoff] Error 1 
make[2]: Leaving directory `/var/tmp/portage/libdv-0.98/work/libdv-0.98/libdv' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/var/tmp/portage/libdv-0.98/work/libdv-0.98' 
make: *** [all] Error 2 
 
!!! ERROR: media-libs/libdv-0.98 failed. 
!!! Function src_compile, Line 41, Exitcode 2 
!!! (no error message) 
 

Expected Results:  
Success, I demand satisfaction! 

Bleh
Comment 1 Martin Holzer (RETIRED) gentoo-dev 2003-04-13 07:16:14 UTC
*** Bug 19223 has been marked as a duplicate of this bug. ***
Comment 2 Martin Holzer (RETIRED) gentoo-dev 2003-04-13 07:16:37 UTC
please paste
#emerge info
Comment 3 david mattatall 2003-04-13 07:21:29 UTC
emerge info 
Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) 
================================================================= 
System uname: 2.4.20-gentoo-r2 i686 AMD Duron(tm) processor 
GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ 
http://distro.ibiblio.org/pub/Linux/distributions/gentoo" 
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config 
/usr/kde/3/share/config 
/usr/X11R6/lib/X11/xkb:/usr/kde/cvs/share/config:/usr/share/config" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" 
PORTDIR="/usr/portage" 
DISTDIR="/usr/portage/distfiles" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR_OVERLAY="" 
USE="x86 apm avi encode libg++ xmms zlib gdbm berkdb tetex aalib svga tcltk pam perl 
python esd motif opengl 3dnow alsa arts cdr crypt cups -debug dga ethereal fbcon directfb gif 
flash freedts gphoto2 gpm -gtk -gtk2 -gnome imlib ipv6 java jikes jpeg kde lcms libwww 
mikmod mmx mozilla mpeg mysql nas ncurses -nls oggvorbis oss pdflib png qt quicktime 
readline samba sasl sdl slang spell sse ssl tcpd tiff truetype usb wmf X xv xml xml2" 
COMPILER="gcc3" 
CHOST="i686-pc-linux-gnu" 
CFLAGS="-mcpu=athlon -O3 -pipe" 
CXXFLAGS="-mcpu=athlon -O3 -pipe" 
ACCEPT_KEYWORDS="x86" 
MAKEOPTS="-j2" 
AUTOCLEAN="yes" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
FEATURES="sandbox ccache" 
 
Comment 4 Andreas Simon 2003-04-20 06:57:44 UTC
I noticed this bug (and 19223) too, but with libdv-0.99: 
 
/bin/sh ../libtool --silent --mode=link gcc  -g -O2 -Wall -I/usr/include/SDL 
-D_REENTRANT -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include 
-I/usr/X11R6/include   -o playdv  playdv.o display.o oss.o -L/usr/lib 
-Wl,-rpath,/usr/lib -lSDL -lpthread -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic 
-lgmodule -lglib -ldl -lXi -lXext -lX11 -lm -lXv ../libdv/libdv.la -lpopt -lm 
libtool: link: cannot find the library `' 
make[2]: *** [playdv] Error 1 
make[2]: Leaving directory `/var/tmp/portage/libdv-0.99/work/libdv-0.99/playdv' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/var/tmp/portage/libdv-0.99/work/libdv-0.99' 
make: *** [all] Error 2 
 
!!! ERROR: media-libs/libdv-0.99 failed. 
!!! Function src_compile, Line 37, Exitcode 2 
!!! (no error message) 
 
Here is my Portage info: 
 
Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.2-r1) 
================================================================= 
System uname: 2.4.21_pre7-gss i686 AMD Athlon(tm) XP 1800+ 
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo" 
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config 
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/cvs/share/config 
/usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ 
/usr/share/texmf/tex/platex/config/ /usr/share/config" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" 
PORTDIR="/usr/portage" 
DISTDIR="/usr/portage/distfiles" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR_OVERLAY="/opt/portage" 
USE="x86 oss apm avi encode libg++ mikmod mpeg ncurses nls pdflib quicktime 
spell xmms xv gdbm berkdb slang readline arts tetex svga tcltk java sdl gpm libwww 
perl python imlib gnome qt kde motif cdr 3dnow alsa crypt cups doc dvd esd gif gtk 
gtk2 imap jpeg lcms maildir mmx mozilla oggvorbis opengl pam png sse ssl tcpd tiff 
truetype X xml2 zlib" 
COMPILER="gcc3" 
CHOST="i686-pc-linux-gnu" 
CFLAGS="-march=athlon-xp -O3 -pipe" 
CXXFLAGS="-march=athlon-xp -O3 -pipe" 
ACCEPT_KEYWORDS="x86 ~x86" 
MAKEOPTS="-j2" 
AUTOCLEAN="yes" 
SYNC="rsync://rsync9.de.gentoo.org/gentoo-portage" 
FEATURES="ccache sandbox" 
Comment 5 Andreas Simon 2003-04-24 12:02:59 UTC
I isolated the failure cause on my system. Cause was an invalid entry in 
/usr/lib/libSDL.la. There in dependency_libs was an entry -L/usr/kde/cvs/lib. But I 
uninstalled the cvs version of kde days before. Thus the entry pointed to a 
nonexistant directory, which caused libtool to error out. 
 
Portage didnt know that libsdl depended on kdelibs-5 and thus could not warn me 
that uninstalling it would break libsdl and thus libdv. I expect other invalid entries in 
other la files on my system. 
 
To fix that I reinstalled libsdl, so that libsdl correctly linked against stuff under 
/usr/kde/3.1/lib instead of /usr/kde/cvs/lib and generated a correct la file. 
 
Conclusion: Do not uninstall software until Portage can handle 
backward-dependencies ;-) 
Comment 6 Sami Nieminen 2003-05-03 06:38:21 UTC
I also had this problem with avifile and kdeaddons (cvs ebuild). I have been trying to figure it out 
the past week and so far found out that the problem is with libSDL.la, which is linked with 
-pthread flag instead of -lpthread. 
 
libtool cannot handle -pthread flag and fails. 
 
I found out a couple of interesting bugreports that seem to deal with this problem: 
 
glib: http://bugzilla.gnome.org/show_bug.cgi?id=100697 
gcc: http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc&cmd=view+audit-trail&pr=8888 
 
I got an impression that this bug might have been fixed on gcc-3.3 (which adds -lpthread flag 
when -pthread is used). 
 
P.S. Here is what I did to get more info from libtool about the failing lib. After avifile (or other 
ebuild) failing with "libtool: link: cannot find the library `'", go to 
/var/tmp/portage/avifile-0.7.34.20030319/work/avifile0.7-0.7.34/ and edit libtool file so that you 
change line: 
 
$echo "$modename: cannot find the library \`$lib'" 1>&2 
 
to be like this: 
 
$echo "$modename: cannot find the library \`$lib' (lib${name}.la: $deplib)" 1>&2 
 
After this, I get a bit clearer error message: 
 
libtool: link: cannot find the library `' (libSDL.la: -pthread) 
Comment 7 Sami Nieminen 2003-05-03 07:36:43 UTC
I think I now know where the -pthread flag is coming from. On kde cvs, artsc-config now returns 
glib-2.0 and gthread-2.0 flags [1] and gthread-2.0 contains that -pthread (pkg-config --libs 
gthread-2.0). SDL depends on arts and gets the -pthread flag from 'artsc-config --libs'. which 
makes libtool fail when compiling packages that in turn depend on libsdl. 
 
That's why the other poster had this problem go away when he started using /usr/kde/3.1/lib 
instead of /usr/kde/cvs/lib. BTW, this same problem makes wine compile fail also, when it tries 
to compile the arts support. 
 
[1] http://webcvs.kde.org/cgi-bin/cvsweb.cgi/arts/artsc/artsc-config.in.diff?r1=1.6&r2=1.7&f=h 
 
 
Comment 8 Sami Nieminen 2003-05-03 07:58:50 UTC
Workaround is to build libsdl with USE="-arts" and then at least avifile compiles ok, and I 
suppose all other failing ebuilds will compile ok as well. 
 
And if it was not clear yet, this problem only occurs when using arts from kde cvs. 
Comment 9 Grant Goodyear (RETIRED) gentoo-dev 2003-05-30 11:50:38 UTC
*** Bug 21680 has been marked as a duplicate of this bug. ***
Comment 10 david mattatall 2003-06-23 21:30:22 UTC
//Workaround is to build libsdl with USE="-arts" and then at least avifile compiles ok 
 
No go. 
 
libtool: link: cannot find the library `' 
make[2]: *** [libaviplay.la] Error 1 
make[2]: Leaving directory 
`/var/tmp/portage/avifile-0.7.37.20030522/work/avifile0.7-0.7.37/lib' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory 
`/var/tmp/portage/avifile-0.7.37.20030522/work/avifile0.7-0.7.37/lib' 
make: *** [all-recursive] Error 1 
 
!!! ERROR: media-video/avifile-0.7.37.20030522 failed. 
!!! Function src_compile, Line 146, Exitcode 2 
 
 
is there any fix for this yet? Or should I just suffer though this until arts-current is the same 
as arts-cvs? 
Comment 11 david mattatall 2003-07-18 02:11:25 UTC
The latest aviplay and libdv still do not compile with arts-cvs. 
Comment 12 david mattatall 2003-08-10 21:41:16 UTC
^Bump^

I cannot for the life of me figure out why this still doesn't work. Any recent developments on this?
Comment 13 Seemant Kulleen (RETIRED) gentoo-dev 2003-08-23 15:00:28 UTC
kde-cvs thing
Comment 14 Andreas Simon 2003-08-23 15:49:57 UTC
Yes, it only occurs with KDE CVS. When building libSDL against a kde-cvs the resulting /usr/lib/
libSDL.la is broken which leads to the build failure of libdv (and some other packages too). 
libSDL.la contains no dlname and the dependecy_libs contain some wrong entries. After fixing 
those via editor by hand, libdv builds. 
 
Here the two fixed lines from /usr/lib/libSDL.la: 
dlname='libSDL-1.2.so.0' 
dependency_libs='-lm -lasound -L/opt/kde-head/lib -ldl -lartsc -lpthread -lgmodule-2.0 -ldl -
lgthread-2.0 -lglib-2.0 -L/usr/lib -lesd -laudiofile -lm -lasound -L/usr/X11R6/lib -lX11 -lXext -ldl' 
 
(Note that I have kde-cvs installed in /opt/kde-head. The ebuilds install them by default 
somewhere else.) 
Comment 15 david mattatall 2003-08-26 16:12:16 UTC
Huh...libdv now builds, as of version 0.99-r1 
Comment 16 Max Kalika (RETIRED) gentoo-dev 2003-09-20 08:49:31 UTC
*** Bug 28313 has been marked as a duplicate of this bug. ***
Comment 17 Sebastian Voitzsch 2003-11-12 07:44:19 UTC
This doesn't only occur with kdecvs, but also with kde-3.2.0_beta1. I also found that I have a really messed up libSDL.la file:

# Libraries that this one depends upon.
dependency_libs=' -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -ldirectfb -lpthread -ldl -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -pthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext -lvga'

What's this? I did reemerge libSDL during the "cannot find -lartsc" error as I noticed I had a 1.2.5, where 1.2.6 was available. After changing the libtool file as suggested in #6 I got

libtool: link: cannot find the library `'(libdirectfb.la: -pthread)

Maybe updating to gcc 3.3 will fix? Will give it a try.

Sebastian