Gentoo Archives: gentoo-desktop

From: Brent Busby <brent@×××××××××.org>
To: gentoo-desktop@l.g.o
Subject: Re: [gentoo-desktop] Re: kde-sunset: new akode build problems
Date: Sat, 21 Aug 2010 17:38:51
Message-Id: Pine.LNX.4.64.1008211206050.16033@village.keycorner.org
In Reply to: [gentoo-desktop] Re: kde-sunset: new akode build problems by Duncan <1i5t5.duncan@cox.net>
1 On Sat, 21 Aug 2010, Duncan wrote:
2
3 > Brent Busby posted on Fri, 20 Aug 2010 13:37:15 -0500 as excerpted:
4 >
5 >> As an addendum to the above, I found this thread:
6 >>
7 >> http://forums.gentoo.org/viewtopic-t-831467.html?
8 > sid=8182796e790caf6a0c9dd589570c8a4f
9 >>
10 >> It looks like the build for akode is trying to find libakode.so before
11 >> it's actually been finished compiling. I still don't know what to do
12 >> about that, or why it would be happening now under GCC 4.4 when it
13 >> wasn't before, unless it's a libtool "--as-needed" related thing.
14 >
15 > IIRC, I had decided I didn't actually need akode for my usage long before
16 > I ever switched to kde4, and thus haven't compiled it in... years, now. I
17 > believe I was running into issues that lead to that investigation and
18 > conclusion, that may be similar to what you're running into now. (FWIW, I
19 > run ~arch and often unmask and run the latest gcc well before it's even
20 > unmasked to ~arch, and am running gcc-4.5.1 now, so I'd have seen gcc-4.4
21 > issues quite some time ago, tho I think this was long before that,
22 > possibly as far back as the gcc-3.5 era.)
23 >
24 > But, you mention a "new machine", presumably a multi-core machine, that
25 > you're taking advantage of with MAKEOPTS=-jX, with X>1. While your
26 > previous machines may also be multi-core, for various reasons they may
27 > have used a different make job scheduling order and thus not run into the
28 > problem. Or, perhaps it's a combination of that and --as-needed.
29
30 Actually, the new machine plus the two previous machines have all had
31 SMP. But I've never used a -j option on any of them, because the fact
32 that parallel compilation doesn't always work right has always scared me
33 away from it and made me worry I could be causing myself unnecessary
34 grief in the future with hard-to-diagnose issues. I'd love to use it to
35 get builds done faster, but the extra speed has never been worth it to
36 me if I can't entirely trust it.
37
38 So, I've never used any '-j' setting in MAKEOPTS on any system. Is it
39 possible that with GCC 4.4 I'm getting some kind of implied parallel
40 execution anyway though, requiring me to set '-j1' to override it for
41 this package?
42
43 > I've also been
44 > running --as-needed in my LDFLAGS, since 2006 or 2007 I'd guess, so it's
45 > indeed quite conceivable that I'd have run into parallel make issues,
46 > perhaps related to --as-needed, perhaps not, way back when I /was/ still
47 > building akode, if the package is wont to trigger them, as it seems to be.
48
49 This is the first machine I've installed from scratch since
50 '--as-needed' became part of the desktop policy. It's never seen a
51 libtool environment that doesn't use it -- I don't know if that has
52 anything to do with this problem or not though.
53
54 > So... try building the package with MAKEOPTS=-j1 and see if that works.
55 > If so, it's a workaround; the makefile dependencies should really be fixed
56 > properly, but that takes some make file (and possibly other) knowledge few
57 > folks have, apparently even at the Gentoo developer level. A lot of the
58 > time, therefore, such issues are simply worked around, with the ebuild
59 > hard-coding MAKEOPTS=-j1. So assuming it works, that's likely the change
60 > that'll happen -- make the ebuild hardcode MAKEOPTS=-j1.
61
62 Just tried it, unfortunately, it did the same thing:
63
64 Making all in src_resampler
65 make[4]: Entering directory
66 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/plugins/src_resampler'
67 if /bin/sh ../../../libtool --silent --tag=CXX --mode=compile
68 x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../..
69 -I../../../akode/lib -I../../../akode/lib -I../../../akode/lib
70 -I./mppdec -O2 -march=athlon64 -pipe -MT src_resampler.lo -MD -MP
71 -MF ".deps/src_resampler.Tpo" -c -o src_resampler.lo src_resampler.cpp;
72 \
73 then mv -f ".deps/src_resampler.Tpo" ".deps/src_resampler.Plo";
74 else rm -f ".deps/src_resampler.Tpo"; exit 1; fi
75 /bin/sh ../../../libtool --silent --tag=CXX --mode=link
76 x86_64-pc-linux-gnu-g++ -O2 -march=athlon64 -pipe -Wl,-O1
77 -Wl,--as-needed -o libakode_src_resampler.la -rpath /usr/lib64 -module
78 -avoid-version -no-undefined -Wl,--no-undefined
79 -Wl,--allow-shlib-undefined src_resampler.lo ../../lib/libakode.la
80 -lsamplerate
81 make[4]: Leaving directory
82 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/plugins/src_resampler'
83 make[4]: Entering directory
84 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/plugins'
85 make[4]: Nothing to be done for `all-am'.
86 make[4]: Leaving directory
87 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/plugins'
88 make[3]: Leaving directory
89 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/plugins'
90 Making all in akodeplay
91 make[3]: Entering directory
92 `/var/tmp/portage/media-libs/akode-2.0.2/work/akode-2.0.2/akode/akodeplay'
93 if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..
94 -I../../akode/lib -I../../akode/lib -I../../akode/lib -O2
95 -march=athlon64 -pipe -MT akodeplay.o -MD -MP -MF ".deps/akodeplay.Tpo"
96 -c -o akodeplay.o akodeplay.cpp; \
97 then mv -f ".deps/akodeplay.Tpo" ".deps/akodeplay.Po"; else rm
98 -f ".deps/akodeplay.Tpo"; exit 1; fi
99 /bin/sh ../../libtool --silent --tag=CXX --mode=link
100 x86_64-pc-linux-gnu-g++ -O2 -march=athlon64 -pipe -Wl,-O1
101 -Wl,--as-needed -o akodeplay akodeplay.o ../lib/libakode.la
102 x86_64-pc-linux-gnu-g++: ../lib/.libs/libakode.so: No such file or
103 directory
104 make[3]: *** [akodeplay] Error 1
105
106 > (FWIW, I'm not going to discount the reasons many still run kde3, as
107 > until 4.4 and better, 4.5, despite official kde announcements to the
108 > contrary, kde4 was simply too bug riddled to be reasonably usable, and
109 > I spent well over 100 hours finding workaround, often scripting my
110 > own, and otherwise making an otherwise broken kde-4.2.4 work for me
111 > when I switched so I KNOW this to be true, but one thing I *DO*
112 > appreciate about kde4 is how much more effectively it parallel builds
113 > in comparison to kde3, therefore taking about half the build time on a
114 > 4-core including my dual-dual-core system, compared to kde3. It's
115 > NICE to be able to do a kde4 upgrade in the 4 hours or so it takes
116 > now, depending on how much is new code and how much is not in ccache,
117 > compared to the entire day, 6-8 hours, if there weren't other
118 > problems, it'd take to do the same with kde3.)
119
120 Yeah, but the problem with it to me is it just isn't the same desktop
121 anymore. Most of it seems to be imitating Windows Vista/7, with a few
122 things derived from MacOS/X here and there (like the new Control Panel,
123 which strongly resembles the Mac's System Preferences app). KDE 3 used
124 to let you make desktops that were totally different.
125
126 My own desktop actually resembles -- and this will probably puzzle some
127 people -- CDE from HP-UX. I'm one of those strange people who actually
128 like an X11 desktop to look like an X11 desktop. I find that most
129 "modern" desktops from Microsoft look and feel like a credit card
130 advertisement, while most modern desktops from Apple look like a 70's
131 car stereo (brushed chrome everywhere!). It seems to be very out of
132 fashion now to prefer one's computer look and act like...gasp!...a
133 computer, but that's what I like, and up until KDE 4, KDE was providing
134 a very nice CDE emulation. (Actually, KDE 3's imitation of CDE is quite
135 a bit more functional that real CDE...no shock there, I suppose.)
136
137 Plus there's the fact that KDE 4, even now that it's more stable, seems
138 to use resources like we had them to burn. Actually, on modern
139 machines, that might be true, but I run studio recording apps, which is
140 a genre of application where more bandwidth equals more tracks, more
141 plugins, more disk i/o, etc. It's one of the few remaining types of
142 apps these days that are *not* just leaving your system idle most of the
143 time, and really do want all you can give them. People who are running
144 pro audio apps do not have CPU/RAM to burn, ever, even on a fast
145 machine! If you are running such programs, and your machine has more to
146 give, you want to give it to the apps, not the desktop, no matter how
147 *much* more that is.
148
149 So in general, KDE 4 has turned me away. I'll pass on its Windows Vista
150 look and feel, its enormous resource footprint, and the way they made
151 keeping any semblance of my current CDE-ish KDE desktop unsupportable.
152
153 > So for testing and to work around the issue yourself until it's fixed
154 > in the ebuild, use the env file. Once either a proper fix or at least
155 > the MAKEOPTS=j1 workaround (assuming it fixes the problem) is in the
156 > ebuild, you can remove the env file workaround. No more having to
157 > change global make.conf settings for a single package, then having to
158 > change them back! =:^)
159
160 Thanks for the help, but that didn't seem to fix it. I never use '-j'
161 options anyway. I'll probably start if they ever start working all the
162 time.
163
164 --
165 + Brent A. Busby + "We've all heard that a million monkeys
166 + UNIX Systems Admin + banging on a million typewriters will
167 + University of Chicago + eventually reproduce the entire works of
168 + Physical Sciences Div. + Shakespeare. Now, thanks to the Internet,
169 + James Franck Institute + we know this is not true." -Robert Wilensky

Replies

Subject Author
Re: [gentoo-desktop] Re: kde-sunset: new akode build problems Dr Andrew John Hughes <gnu_andrew@××××××××××.org>
[gentoo-desktop] Re: kde-sunset: new akode build problems Duncan <1i5t5.duncan@×××.net>