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


Reply via email to