Open hlandgar opened 8 years ago
Hi, I've recently discovered this bug. I'll take a look what is the difference between ebuilds… Could you please paste an error here?
This the the fix-linkage bug:
$ sudo cave fix-linkage Searching: 11 directories, 220545 filesterminate called after throwing an instance of 'std::ios_base::failure' what(): basic_ios::clear
Turned out to be an issue with gcc-5.3
clang fails on plaudis.scm on undefined references to a few different wrapper iterators.
clang fails on plaudis.scm on undefined references to a few different wrapper iterators.
and is it successfully compiled paludis-9999
from portage?
and about an error, I've asked about compile error :)
Clang also fails on paludis-9999 but is successful in building 2.4.0_p20160112.
This could be the issue:
/var/tmp/paludis/sys-apps-paludis-scm/work/paludis-scm/ruby/dep_spec.cc:169:5: warning: 'WrappedSpec' defined as a class template here but previously declared as a struct template
[-Wmismatched-tags]
class WrappedSpec :
^
/var/tmp/paludis/sys-apps-paludis-scm/work/paludis-scm/ruby/dep_spec.cc:137:25: note: did you mean class here?
template ~
It fails during linking with lots of errors like:
/var/tmp/paludis/sys-apps-paludis-scm/work/paludis-scm/src/clients/cave/cmd_execute_resolution.cc:(.text+0x3c11): undefined reference to `paludis::WrappedForwardIterator<paludis::SequenceConstIteratorTag<std::cxx11::basic_string<char, std::char_traits
The warning is not important (though could be easy fixed by patch).
Linking errors actually caused by improper use of Dual ABI: it looks like some parts of your system has compiled with different C++11 ABI (controlled by _GLIBCXX_USE_CXX11_ABI
macro as explained in GCC wiki).
So, actually it is not a fault by ebuild, but your compiler flags… To solve the issue please rebuild your system w/ the same value of _GLIBCXX_USE_CXX11_ABI
.
FYI, to resolve cave fix-linkage
bug, here is a patch I use to apply by auto-patch hook.
GCC-5.3 has a bug which breaks cave fix-linkage. Building with clang works around the bug. paludis::gentoo build with clang but paludis.scm in this overlay does not.