Summary: | =media-libs/libcaca-0.99_beta19 - In file included from .../libcaca-0.99.beta19/test/canvas.cpp:15: /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the[...] | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Bertrand Jacquin <bertrand> |
Component: | Current packages | Assignee: | Gentoo Media-video project <media-video> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | bertrand, gentoo-bugzilla, jstein, moonlapse81, pacho |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge --info
build.log |
Description
Bertrand Jacquin
2017-05-25 21:04:37 UTC
Created attachment 474316 [details]
emerge --info
Created attachment 474318 [details]
build.log
I have similar issue: ... libtool: link: x86_64-pc-linux-gnu-g++ -m32 -O2 -pipe -march=native -fomit-frame-pointer -fgcse-after-reload -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare -Wl,-O1 -o .libs/caca-test caca_test-caca-test.o caca_test-canvas.o caca_test-dirty.o caca_test-driver.o caca_test-export.o -Wl,--as-needed ../caca/.libs/libcaca.so -L/usr/lib32 -lncursesw -lX11 -lGL -lGLU -lglut -lz -lcppunit caca_test-caca-test.o: In function `main': caca-test.cpp:(.text.startup+0x4c): undefined reference to `CppUnit::TestFactoryRegistry::getRegistry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' caca-test.cpp:(.text.startup+0x9a): undefined reference to `CppUnit::TextTestRunner::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, bool, bool)' caca_test-canvas.o: In function `CppUnit::ConcretTestFixtureFactory<CanvasTest>::makeFixture()': canvas.cpp:(.text._ZN7CppUnit25ConcretTestFixtureFactoryI10CanvasTestE11makeFixtureEv[_ZN7CppUnit25ConcretTestFixtureFactoryI10CanvasTestE11makeFixtureEv]+0x40): undefined reference to `CppUnit::TestCase::TestCase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ... This issue does not happen with cppunit 1.13 or without cppunit installed. It seems that there are two separate problems here: - libcaca tries compiling its tests even when we pass it --disable-cppunit - compiling theses tests with cppunit 1.14 or later requires -std=c++11 I don't know where the first problem comes from but the second one can easily be fixed by adding "append-cxxflags -std=c++11" before the call to econf. I have opened an issue upstream for the CXXFLAGS problem: https://github.com/cacalabs/libcaca/issues/26 For me it builds after: revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc (In reply to Louis Sautier (sbraz) from comment #4) > I don't know where the first problem comes from but the second one can > easily be fixed by adding "append-cxxflags -std=c++11" before the call to > econf. Same problem and same fix for me. Is this invalid then? Title: GCC 5 Defaults to the New C++11 ABI Author: Mike Frysinger <vapier@gentoo.org> Content-Type: text/plain Posted: 2015-10-22 Revision: 2 News-Item-Format: 1.0 Display-If-Installed: >=sys-devel/gcc-5 GCC 5 uses the new C++ ABI by default. When building new code, you might run into link time errors that include lines similar to: ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17' Or you might see linkage failures with "std::__cxx11::string" in the output. These are signs that you need to rebuild packages using the new C++ ABI. You can quickly do so by using revdep-rebuild (from gentoolkit). For gentoolkit-0.3.1 or higher: # revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc For previous versions of gentoolkit: # revdep-rebuild --library 'libstdc\+\+\.so\.6' -- --exclude gcc For more details, feel free to peruse: https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/ https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/ Please confirm. I can confirm this for x86 and gcc-5.4.0-r3, will try to pass append-cxxflags -std=c++11 (In reply to Louis Sautier (sbraz) from comment #4) > This issue does not happen with cppunit 1.13 or without cppunit installed. > It seems that there are two separate problems here: > - libcaca tries compiling its tests even when we pass it --disable-cppunit > - compiling theses tests with cppunit 1.14 or later requires -std=c++11 > > I don't know where the first problem comes from but the second one can > easily be fixed by adding "append-cxxflags -std=c++11" before the call to > econf. > > I have opened an issue upstream for the CXXFLAGS problem: > https://github.com/cacalabs/libcaca/issues/26 Confirmed, I masked =dev-util/cppunit-1.14.0 and libcaca-0.99_beta19 compiles fine with gcc-5.4.0-r3 I ran into this is an old machine, which wasn't upgraded for a long time. The annoying thing is, this happend during the mandantory rebuild of c++ stuff after gcc upgrade vom 4.x to 5.x via revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc therefore, followed the upgrade path, and still ended up here. Please consider to patch the ebuild, upstream patch could take a while I guess. It looks like it may just be the gcc-5.x series. I ran into this issue and since I had gcc-6.4.0 on my system, I decided to give it a try and switched to it. The emerge of libcaca-0.99_beta18-r2 then completed successfully. |