On Mon, 26 Dec 2016 22:25:59 +0100, lee wrote: > Holger Hoffstätte <hol...@applied-asynchrony.com> writes: > >> On Mon, 26 Dec 2016 21:09:08 +0100, lee wrote: >> >>> Hi, >>> >>> there are some things that refuse to compile. One of them is >>> openimageio. >>> >>> Is this a bug, or am I missing something? Do I need to update something >>> else first? >> >> The latter, sort of. The error in question.. >> > >> [...] >>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to >>> `Imf_2_1::Header::name[abi:cxx11]() const' >>> | ../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&)' >>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to >>> | `Imf_2_1::TypedAttribute<std::__cxx11::basic_string<char, >>> | std::char_traits<char>, std::allocator<char> > >>> | >::writeValueTo(Imf_2_1::OStream&, int) const' >>> | collect2: error: ld returned 1 exit status >> [..] >> >> ..indicates a mismatch in C++11 ABI which changed in gcc5. What happens is >> that one the >> dependencies of openimageio was built against the old C++11 std::string ABI >> (hence the >> link errors), and needs to be rebuilt. It looks to be "Imf" aka libIlmImf, >> whatever that is. Try to rebuild it with --oneshot and it should work. >> If a similar error pops up for a different dependency, repeat. :) > > Hm, this is really bad because it's difficult to figure out what needs > to be rebuilt. Is there a way to rebuild everything in some order that > works?
equery b <file> or epm -qif tells you which package a file belongs to. Purely by searching vie emerge -s it looks like libIlmImf could be media-libs/ilmbase. A full-system approach (probably better in your case) is explained here: https://wiki.gentoo.org/wiki/Upgrading_from_gcc-4.x_to_gcc-5.x > Here's the next one already, and what would I need to rebuild for that? That looks like a completely different problem (hard to tell from the error) but in any case _fix one problem at a time_. -h