Gentoo Archives: gentoo-desktop

From: Dr Andrew John Hughes <gnu_andrew@××××××××××.org>
To: gentoo-desktop@l.g.o
Subject: Re: [gentoo-desktop] Re: kde-sunset: new akode build problems
Date: Sun, 22 Aug 2010 16:27:31
Message-Id: AANLkTik3v5reHwyvXoK0-R-=Uy=zzW_63Kie5S3ttUVt@mail.gmail.com
In Reply to: Re: [gentoo-desktop] Re: kde-sunset: new akode build problems by Brent Busby
1 On 22 August 2010 01:51, Brent Busby <brent@×××××××××.org> wrote:
2 > On Sun, 22 Aug 2010, Dr Andrew John Hughes wrote:
3 >
4 >> Can you post the full build log as an attachment or URL?  All I can
5 >> tell from the current output is that libakode.la is not being produced
6 >> by something earlier in the build.
7 >>
8 >> If this is an as-needed issue, the problem is likely to be that akode
9 >> was implicitly relying on a dependent library bringing in another
10 >> library it needs and it no longer does that because of as-needed.
11 >> I've already seen patches going into the mainline packages to fix such
12 >> issues (may be worth checking if you have any pending updates).  I hit
13 >> at least one issue like this when rebuilding after the --as-needed
14 >> change went in.
15 >>
16 >> Adding stuff like --as-needed may help the occasional libpng upgrade,
17 >> but it means packages may be being built in a way that isn't being
18 >> tested regularly by its developers.
19 >
20 > Okay, here is the whole build log as an attachment.
21 >
22 > --
23 > + Brent A. Busby         + "We've all heard that a million monkeys
24 > + UNIX Systems Admin     +  banging on a million typewriters will
25 > + University of Chicago  +  eventually reproduce the entire works of
26 > + Physical Sciences Div. +  Shakespeare.  Now, thanks to the Internet,
27 > + James Franck Institute +  we know this is not true." -Robert Wilensky
28
29 Thanks. Seems I get the same error if I try and emerge akode too and
30 it's definitely not down to parallel make. The problem is that
31 libakode.so.2.0.0 (the actual library) is never produced. The last
32 line of the lib build is:
33
34 /bin/sh ../../libtool --tag=CXX --silent --mode=link
35 x86_64-pc-linux-gnu-g++ -O2 -pipe -march=core2 -ggdb
36 -mno-tls-direct-seg-refs -fPIC -Wl,-O1 -o libakode.la -rpath
37 /usr/lib64 -no-undefined -Wl,--no-undefined
38 -Wl,--allow-shlib-undefined -version-info 2:0:0 bytebuffer.lo
39 audiobuffer.lo pluginhandler.lo decoderpluginhandler.lo
40 resamplerpluginhandler.lo sinkpluginhandler.lo encoderpluginhandler.lo
41 fast_resampler.lo crossfader.lo volumefilter.lo localfile.lo
42 mmapfile.lo wav_decoder.lo auto_sink.lo void_sink.lo converter.lo
43 buffered_decoder.lo player.lo magic.lo -lpthread -lltdl
44 make[1]: Leaving directory
45 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/lib'
46
47 If you take out the --silent in the Makefile, you get:
48
49 /bin/sh ../../libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++
50 -O2 -pipe -march=core2 -ggdb -mno-tls-direct-seg-refs -fPIC -Wl,-O1
51 -o libakode.la -rpath /usr/lib64 -no-undefined -Wl,--no-undefined
52 -Wl,--allow-shlib-undefined -version-info 2:0:0 bytebuffer.lo
53 audiobuffer.lo pluginhandler.lo decoderpluginhandler.lo
54 resamplerpluginhandler.lo sinkpluginhandler.lo encoderpluginhandler.lo
55 fast_resampler.lo crossfader.lo volumefilter.lo localfile.lo
56 mmapfile.lo wav_decoder.lo auto_sink.lo void_sink.lo converter.lo
57 buffered_decoder.lo player.lo magic.lo -lpthread -lltdl
58 (cd .libs && rm -f libakode.so.2 && ln -s libakode.so.2.0.0 libakode.so.2)
59 (cd .libs && rm -f libakode.so && ln -s libakode.so.2.0.0 libakode.so)
60 creating libakode.la
61 (cd .libs && rm -f libakode.la && ln -s ../libakode.la libakode.la)
62 make[1]: Leaving directory
63 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/lib'
64
65 So libtool creates the symlinks and the la file, thus satisfying the
66 Makefile requirements, but never actually invokes gcc to build the
67 library, so the symlinks are to a non-existent library. The libtool
68 being used is an old in-tree version:
69
70 # ../../libtool --version
71 ltmain.sh (GNU libtool) 1.5a (1.1240 2003/06/26 06:55:19)
72
73 If just 'libtool' is invoked instead,
74
75 # libtool --version
76 libtool (GNU libtool) 2.2.10
77
78 /bin/sh libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -O2
79 -pipe -march=core2 -ggdb -mno-tls-direct-seg-refs -fPIC -Wl,-O1 -o
80 libakode.la -rpath /usr/lib64 -no-undefined -Wl,--no-undefined
81 -Wl,--allow-shlib-undefined -version-info 2:0:0 bytebuffer.lo
82 audiobuffer.lo pluginhandler.lo decoderpluginhandler.lo
83 resamplerpluginhandler.lo sinkpluginhandler.lo encoderpluginhandler.lo
84 fast_resampler.lo crossfader.lo volumefilter.lo localfile.lo
85 mmapfile.lo wav_decoder.lo auto_sink.lo void_sink.lo converter.lo
86 buffered_decoder.lo player.lo magic.lo -lpthread -lltdl
87 libtool: link: rm -fr .libs/libakode.la .libs/libakode.lai
88 .libs/libakode.so .libs/libakode.so.2
89 libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib
90 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/../../../../lib64/crti.o
91 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/crtbeginS.o .libs/bytebuffer.o
92 .libs/audiobuffer.o .libs/pluginhandler.o .libs/decoderpluginhandler.o
93 .libs/resamplerpluginhandler.o .libs/sinkpluginhandler.o
94 .libs/encoderpluginhandler.o .libs/fast_resampler.o .libs/crossfader.o
95 .libs/volumefilter.o .libs/localfile.o .libs/mmapfile.o
96 .libs/wav_decoder.o .libs/auto_sink.o .libs/void_sink.o
97 .libs/converter.o .libs/buffered_decoder.o .libs/player.o
98 .libs/magic.o -lpthread /usr/lib64/libltdl.so -ldl
99 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1
100 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/../../../../lib64
101 -L/lib/../lib64 -L/usr/lib/../lib64
102 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/../../../../x86_64-pc-linux-gnu/lib
103 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/../../.. -lstdc++ -lm -lc
104 -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/crtendS.o
105 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/../../../../lib64/crtn.o
106 -march=core2 -mno-tls-direct-seg-refs -Wl,-O1 -Wl,--no-undefined
107 -Wl,--allow-shlib-undefined -Wl,-soname -Wl,libakode.so.2 -o
108 .libs/libakode.so.2.0.0
109 libtool: link: (cd ".libs" && rm -f "libakode.so.2" && ln -s
110 "libakode.so.2.0.0" "libakode.so.2")
111 libtool: link: (cd ".libs" && rm -f "libakode.so" && ln -s
112 "libakode.so.2.0.0" "libakode.so")
113 libtool: link: x86_64-pc-linux-gnu-ar cru .libs/libakode.a
114 .libs/bytebuffer.o .libs/audiobuffer.o .libs/pluginhandler.o
115 .libs/decoderpluginhandler.o .libs/resamplerpluginhandler.o
116 .libs/sinkpluginhandler.o .libs/encoderpluginhandler.o
117 .libs/fast_resampler.o .libs/crossfader.o .libs/volumefilter.o
118 .libs/localfile.o .libs/mmapfile.o .libs/wav_decoder.o
119 .libs/auto_sink.o .libs/void_sink.o .libs/converter.o
120 .libs/buffered_decoder.o .libs/player.o .libs/magic.o
121 libtool: link: x86_64-pc-linux-gnu-ranlib .libs/libakode.a
122 libtool: link: ( cd ".libs" && rm -f "libakode.la" && ln -s
123 "../libakode.la" "libakode.la" )
124
125 the right thing is done and the library is built.
126
127 # ls .libs
128 audiobuffer.o crossfader.o libakode.la@
129 localfile.o resamplerpluginhandler.o
130 auto_sink.o decoderpluginhandler.o libakode.lai
131 magic.o sinkpluginhandler.o
132 buffered_decoder.o encoderpluginhandler.o libakode.so@
133 mmapfile.o void_sink.o
134 bytebuffer.o fast_resampler.o libakode.so.2@
135 player.o volumefilter.o
136 converter.o libakode.a libakode.so.2.0.0*
137 pluginhandler.o wav_decoder.o
138
139 Note that libakode.so.2.0.0 is now there. On x86_64, I also had to
140 patch the Makefile to add -fPIC to the CFLAGS otherwise the link
141 failed with a relocatable symbol error.
142
143 I'd be interested to know when this was last known to build, as the
144 in-tree libtool is clearly buggy.
145 --
146 Andrew :-)
147
148 Free Java Software Engineer
149 Red Hat, Inc. (http://www.redhat.com)
150
151 Support Free Java!
152 Contribute to GNU Classpath and the OpenJDK
153 http://www.gnu.org/software/classpath
154 http://openjdk.java.net
155
156 PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
157 Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

Replies

Subject Author
Re: [gentoo-desktop] Re: kde-sunset: new akode build problems Brent Busby <brent@×××××××××.org>