On Wed, 2007-08-15 at 16:34 +0200, Andreas Niederl wrote: > Iain Buchanan wrote: > > On Wed, 2007-08-15 at 13:23 +0200, Andreas Niederl wrote: > >> Iain Buchanan wrote: > >>> On Mon, 2007-08-13 at 08:02 +0200, Andreas Niederl wrote: > > > >> [...] > >>>> My own little workaround: > >>>> echo 'LDPATH="/lib:/usr/lib:/usr/local/lib"' >> /etc/env.d/04basic-ldpath > >>>> env-update > >>> I tried that, but eix still fails with the same error... Or do I have > >>> to rebuild the system again?! > >> No, eix still takes the wrong libstdc++.so.6 and rebuilding won't likely > >> change that. > >> Whats the output of the libstdc++ section, if you call eix with LD_DEBUG > >> like `LD_DEBUG=libs eix`? > > > > the current eix (0.9.9) shows this (and a whole lotta other stuff): > > > > $ LD_DEBUG=libs eix > > 18778: find library=libstdc++.so.6 [0]; searching > > 18778: search path=/usr/lib/fglrx (LD_LIBRARY_PATH) > > 18778: trying file=/usr/lib/fglrx/libstdc++.so.6 > > 18778: search cache=/etc/ld.so.cache > > 18778: trying > > file=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6 > > [snip] > > 18778: calling init: > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6 > > > >> You could directly query the exported CXXABI versions of different > >> libstdc++ libraries in the same order as they are tried by the dynamic > >> linker by pasting the following loop into your shell: > >> > >> while read dir ; do > >> if [ -r $dir/libstdc++.so.6 ] ; then > >> echo $dir: > >> readelf -a $dir/libstdc++.so.6 | grep Rev | grep CXXABI > >> fi > >> done < /etc/ld.so.conf > > > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.6: > > 0x00a4: Rev: 1 Flags: none Index: 6 Cnt: 1 Name: CXXABI_1.3 > > /usr/lib/gcc/i686-pc-linux-gnu/4.1.2: > > 0x0158: Rev: 1 Flags: none Index: 11 Cnt: 1 Name: CXXABI_1.3 > > 0x0174: Rev: 1 Flags: none Index: 12 Cnt: 2 Name: CXXABI_1.3.1 > > /usr/lib/gcc/i686-pc-linux-gnu/4.2.0: > > 0x017c: Rev: 1 Flags: none Index: 12 Cnt: 1 Name: CXXABI_1.3 > > 0x0198: Rev: 1 Flags: none Index: 13 Cnt: 2 Name: CXXABI_1.3.1 > > > > > > But what does it all _mean_ Basil? (gratuitous bad movie quote...) > [...] > > Just that the first libstdc++.so.6 found by ld.so doesn't have > CXXABI_1.3.1 which is apparently needed by eix. > If you look into your /etc/ld.so.conf you'll see some directories listed > which ld.so will probe from the top downwards when it searches for > dynamically linked libraries. In your case the gcc library directories > are in the wrong order. > > My guess is that you should reverse them. > > The search order is specified by the LDPATH variables in the > /etc/env.d/* files. env-update reads these files sorted alphabetically > concatenates the found LDPATHs and writes it into /etc/ld.so.conf.
/etc/env.d $ grep LDPATH * | grep gcc 05compiler:LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/3.4.6" 05gcc:LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6:/usr/lib/gcc/i686-pc-linux-gnu/4.2.0" aha! so the culprit is 05compiler, but who put it there? `equery belongs` doesn't tell me anything, in fact I have a lot of files in /etc/env.d that don't "belong" to anything, so is it safe to delete them?... > The LDPATH for gcc should be in /etc/env.d/05gcc, I imagine something > like > LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.2.0/" > standing in your version of this file. For reversing the search order > simply reverse this variable so that it reads: > LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.2.0/:/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/" > and do a env-update. well, 05gcc seems to be fine. > The reason for the search path being in the wrong order is probably some > bug in gcc-config or eselect-compiler, whichever you are using. At least > I can't think of another reason. if gcc-config updates 05gcc, then it appears to have done the right thing. I just have to find out why 05compiler is in there. In the mean time, I removed 05compiler, and my emerges now seem to work :) thanks for all the help, -- Iain Buchanan <iaindb at netspace dot net dot au> The real trouble with reality is that there's no background music. -- [EMAIL PROTECTED] mailing list