Gentoo Archives: gentoo-user

From: "Holger Hoffstätte" <holger@××××××××××××××××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: should everything compile?
Date: Tue, 27 Dec 2016 00:20:51
Message-Id: pan$34c05$91994e19$732772db$43715fcd@applied-asynchrony.com
In Reply to: Re: [gentoo-user] Re: should everything compile? by lee
1 On Mon, 26 Dec 2016 22:25:59 +0100, lee wrote:
2
3 > Holger Hoffstätte <holger@××××××××××××××××××.com> writes:
4 >
5 >> On Mon, 26 Dec 2016 21:09:08 +0100, lee wrote:
6 >>
7 >>> Hi,
8 >>>
9 >>> there are some things that refuse to compile. One of them is
10 >>> openimageio.
11 >>>
12 >>> Is this a bug, or am I missing something? Do I need to update something
13 >>> else first?
14 >>
15 >> The latter, sort of. The error in question..
16 >>
17 >
18 >> [...]
19 >>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to `Imf_2_1::Header::name[abi:cxx11]() const'
20 >>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to `Imf_2_1::Header::setType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
21 >>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to
22 >>> | `Imf_2_1::TypedAttribute<std::__cxx11::basic_string<char,
23 >>> | std::char_traits<char>, std::allocator<char> >
24 >>> | >::writeValueTo(Imf_2_1::OStream&, int) const'
25 >>> | collect2: error: ld returned 1 exit status
26 >> [..]
27 >>
28 >> ..indicates a mismatch in C++11 ABI which changed in gcc5. What happens is that one the
29 >> dependencies of openimageio was built against the old C++11 std::string ABI (hence the
30 >> link errors), and needs to be rebuilt. It looks to be "Imf" aka libIlmImf,
31 >> whatever that is. Try to rebuild it with --oneshot and it should work.
32 >> If a similar error pops up for a different dependency, repeat. :)
33 >
34 > Hm, this is really bad because it's difficult to figure out what needs
35 > to be rebuilt. Is there a way to rebuild everything in some order that
36 > works?
37
38 equery b <file> or epm -qif tells you which package a file belongs to.
39 Purely by searching vie emerge -s it looks like libIlmImf could be
40 media-libs/ilmbase.
41
42 A full-system approach (probably better in your case) is explained here:
43 https://wiki.gentoo.org/wiki/Upgrading_from_gcc-4.x_to_gcc-5.x
44
45 > Here's the next one already, and what would I need to rebuild for that?
46
47 That looks like a completely different problem (hard to tell from the error)
48 but in any case _fix one problem at a time_.
49
50 -h

Replies

Subject Author
Re: [gentoo-user] Re: should everything compile? lee <lee@××××××××.de>