According to compiler, there is no member named 'emplace_back' in 'std::__1::vector<bool, std::__1::allocator<bool> >', despite the compiler has been invoked with -std=c++11 parameter, necessary for this implementation. Reproducible: Always Steps to Reproduce: 1. Update the tree 2. Emerge eix (you may want to use MAKEOPTS="-j1") 3. Wait until it fails Actual Results: cache/parse/parse.cc:382:17: error: no member named 'emplace_back' in 'std::__1::vector<bool, std::__1::allocator<bool> >' further_works.PUSH_BACK((*it)->readCategoryPrepare(cat_name)); ~~~~~~~~~~~~~ ^ ./eixTk/dialect.h:49:19: note: expanded from macro 'PUSH_BACK' #define PUSH_BACK emplace_back ^ 2 warnings and 1 error generated. make[2]: *** [Makefile:1656: cache/parse/parse.o] Error 1 make[2]: Leaving directory '/Users/askarbektassov/Gentoo/var/tmp/portage/app-portage/eix-0.33.2/work/eix-0.33.2/src' make[1]: *** [Makefile:513: all-recursive] Error 1 make[1]: Leaving directory '/Users/askarbektassov/Gentoo/var/tmp/portage/app-portage/eix-0.33.2/work/eix-0.33.2' make: *** [Makefile:433: all] Error 2 * ERROR: app-portage/eix-0.33.2::gentoo_prefix failed (compile phase): * emake failed
Should we use a more recent C++ standard perhaps?
See bug 649558: The problem is that std::vector<bool>::emplace_back differs from std::vector<anything else>::emplace_back in that the former is not necessarily available in C++-11. This has been fixed in eix-0.33.3 *** This bug has been marked as a duplicate of bug 649558 ***