Holger Hoffstätte <hol...@applied-asynchrony.com> writes:

> 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.

Yes, I have rebuilt those, and others, using trial and error to figure
out what needs to be rebuilt.

> 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

Thanks!  Seems all I need to do is the 'revdep-rebuild', which is now
running.

I hope I don't end up with an unbootable system ...

>> 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_.

That was some more packages that needed to be rebuilt.

The only thing that doesn't compile yet is cinelerra, which I don't
need for now.  Maybe it works once all the libraries are rebuilt.

Reply via email to