Gentoo Archives: gentoo-user

From: Grant Edwards <grant.b.edwards@×××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: glibmm 2.20.1 emerge fails to compile
Date: Mon, 28 Sep 2009 15:03:21
Message-Id: h9qj6b$ue4$1@ger.gmane.org
In Reply to: [gentoo-user] Re: glibmm 2.20.1 emerge fails to compile by walt
1 On 2009-09-28, walt <w41ter@×××××.com> wrote:
2 > On 09/27/2009 09:38 PM, Grant Edwards wrote:
3 >> I tried doing an upgrade (the usual emerge -auvND world), and
4 >> it choked on glibmm 2.20.1. The compile failed the basic error
5 >> seems to be this:
6 >>
7 >> generate_defs_glib.o: In function `main':
8 >> generate_defs_glib.cc:(.text+0x6b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'
9
10 [...]
11
12 > Those undefined references are supplied by libstdc++, so it
13 > looks like you have a classic case of duelling library
14 > versions.
15 >
16 > The error messages mention gcc-3.4.6, which is actually quite
17 > old now, so perhaps you've switched to gcc-4.x.x now?
18
19 Yes! I suspected that was the issue, but I had missed noticing
20 the 3.4.6 in some of the libstdc++ paths.
21
22 > The fix is to go back and re-emerge all packages that linked
23 > against the old libstdc++.
24
25 Thanks. I figured it was something like that.
26
27 > One way to find them is to run fix_libtool_files.sh and note
28 > which ones get fixed. You still need to re-emerge those
29 > packages, though, if you're now using gcc-4.x
30
31 Yes, I'm now using gcc 4.
32
33 > I would actually just grep through all the .la files for
34 > "3.4.6" (assuming that's your *old* version of gcc) and
35 > re-emerge the packages that own those files. Maybe someone
36 > else knows an easier way.
37
38 I'll try fix_libtool_files.sh first, then go from there.
39
40 --
41 Grant