Gentoo Archives: gentoo-user

From: "Holger Hoffstätte" <holger@××××××××××××××××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: should everything compile?
Date: Mon, 26 Dec 2016 20:57:36
Message-Id: pan$76837$ee8597e3$63420bc1$fea7b996@applied-asynchrony.com
In Reply to: [gentoo-user] should everything compile? by lee
1 On Mon, 26 Dec 2016 21:09:08 +0100, lee wrote:
2
3 > Hi,
4 >
5 > there are some things that refuse to compile. One of them is
6 > openimageio.
7 >
8 > Is this a bug, or am I missing something? Do I need to update something
9 > else first?
10
11 The latter, sort of. The error in question..
12
13 [..]
14 > | [100%] Linking CXX executable oiiotool
15 > | cd /var/tmp/portage/media-libs/openimageio-1.6.13/work/openimageio-1.6.13_build/src/oiiotool && /usr/bin/cmake -E cmake_link_script CMakeFiles/oiiotool.dir/link.txt --verbose=1
16 > | ccache /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=westmere -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -maes -mpclmul -mpopcnt -msse4.2 -msse4.1 -mfxsr --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-s
17 > | ize=12288 -mtune=westmere -fomit-frame-pointer -fno-stack-protector -Wl,-O1 -Wl,--as-needed CMakeFiles/oiiotool.dir/oiiotool.cpp.o CMakeFiles/oiiotool.dir/diff.cpp.o CMakeFiles/oiiotool.dir/imagerec.cpp.o CMakeFiles/oiiotool.dir/printi
18 > | nfo.cpp.o -o oiiotool -rdynamic ../libOpenImageIO/libOpenImageIO.so.1.6.13 -lboost_filesystem-mt -lboost_regex-mt -lboost_system-mt -lboost_thread-mt -lboost_chrono-mt -lboost_date_time-mt -lboost_atomic-mt -lrt -ldl -lssl -lcrypto -lfre
19 > | etype -lpng -lz -ltiff -ljpeg -lIlmImf -lImath -lIex -lHalf -lIlmThread -lpthread -lopenjpeg -lwebp -lgif -lz -ltiff -ljpeg -lIlmImf -lImath -lIex -lHalf -lIlmThread -lpthread -lopenjpeg -lwebp -lgif -lpugixml -Wl,-rpath,/var/tmp/portage/
20 > | media-libs/openimageio-1.6.13/work/openimageio-1.6.13_build/src/libOpenImageIO:
21 > | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to `Imf_2_1::TypedAttribute<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::
22 > | char_traits<char>, std::allocator<char> > > > >::writeValueTo(Imf_2_1::OStream&, int) const'
23 > | ../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> > >::readValueFrom(Imf_2_1::IStream&, int, int)'
24 > | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to `Imf_2_1::Header::type[abi:cxx11]() const'
25 > | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to `Imf_2_1::TypedAttribute<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::
26 > | char_traits<char>, std::allocator<char> > > > >::readValueFrom(Imf_2_1::IStream&, int, int)'
27 > | ../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> > >::staticTypeName()'
28 > | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to `Imf_2_1::TypedAttribute<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::
29 > | char_traits<char>, std::allocator<char> > > > >::staticTypeName()'
30 > | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to `Imf_2_1::Header::name[abi:cxx11]() const'
31 > | ../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&)'
32 > | ../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'
33 > | collect2: error: ld returned 1 exit status
34 [..]
35
36 ..indicates a mismatch in C++11 ABI which changed in gcc5. What happens is that one the
37 dependencies of openimageio was built against the old C++11 std::string ABI (hence the
38 link errors), and needs to be rebuilt. It looks to be "Imf" aka libIlmImf,
39 whatever that is. Try to rebuild it with --oneshot and it should work.
40 If a similar error pops up for a different dependency, repeat. :)
41
42 -h

Replies

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