Created attachment 311071 [details] emerge --info Compiling works fine on my desktop box (desktop profile, gcc 4.5), but fails on my vserver (hardended profile, gcc 4.4) error is: CXX portage/extendedversion.o CXX portage/mask.o CXX portage/package.o CXX portage/vardbpkg.o CXX portage/packagetree.o In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/bits/stl_algobase.h:66, from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/list:61, from ./eixTk/ptr_list.h:13, from portage/packagetree.h:16, from portage/packagetree.cc:10: /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/bits/stl_pair.h: In constructor ‘std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, _U2 = long int, _T1 = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _T2 = Category*]’: portage/packagetree.cc:76: instantiated from here /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/bits/stl_pair.h:90: error: invalid conversion from ‘long int’ to ‘Category*’ make[2]: *** [portage/packagetree.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/app-portage/eix-0.25.4/work/eix-0.25.4/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/app-portage/eix-0.25.4/work/eix-0.25.4' make: *** [all] Error 2 * ERROR: app-portage/eix-0.25.4 failed (compile phase): * emake failed
Please attach the entire build log to this bug report.
Created attachment 311077 [details] build.log
Seems to me like a bug (or an unexpected feature) of the gnu++0x dialect. Does it help if you add (temporarily for testing) -std=c++0x to your CXXFLAGS in your make.conf? If not, does it help if you add instead -std=gnu++98 or even -std=c++98
-std=c++0x results in the same error -std=gnu++98 fixes it
Thanks for testing. This is now fixed in eix git master on BerliOS (>=eix-0.25.5). For the moment, a workaround should be EXTRA_ECONF=--disable-new-dialect (this is an emergency option which should not be used with working versions of eix)
(In reply to comment #4) > -std=c++0x results in the same error > > -std=gnu++98 fixes it completely same behaviour here.
eix-0.25.5 in tree