The emplace() is new API from C++11. Be aware that GCC suite actually is independent from the libstdc++, so if you have a newer compiler, the compiler might still pick the older libstdc++ without the new API.
This issue doesn't exist at Windows, since Visual Studio is a complete sytem. This issue happens on OSX also, so user must give the compiler a proper MacOS SDK for the new header files etc. On Thu, Apr 5, 2018 at 1:33 PM, suzuki toshiya <mpsuz...@hiroshima-u.ac.jp> wrote: > $ clang++ --version > Ubuntu clang version 3.4-1ubuntu3~precise2 (tags/RELEASE_34/final) (based > on > LLVM 3.4) > Target: x86_64-pc-linux-gnu > Thread model: posix > > But I got following abort: > > cmake-3.11.0/Source/cmLocalGenerator.cxx:553:36: error: no member named > 'emplace' in > 'std::unordered_map<std::basic_string<char>, cmGeneratorTarget *, > std::hash<string>, std::equal_to<std::basic_string<char> >, > std::allocator<std::pair<const std::basic_string<char>, > cmGeneratorTarget > *> > >' > this->GeneratorTargetSearchIndex.emplace(gt->GetName(), gt); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ > > Grrrr.... X-D > > Regards, > mpsuzuki > > suzuki toshiya wrote: > > Dear Bo Zhou, > > > > Thank you for the info! Now I'm checking Ubuntu 12.04 in LXC. > > So, gcc-4.8.5 or later would be needed for C++11, it seems that the last > version > > of gcc officially provided for Ubuntu-12 was 4.7. oh. > > According to https://clang.llvm.org/cxx_status.html , clang-3.3 > supports C++11, > > and the last version of clang officially provided for Ubuntu-12 was 3.4. > ooh. > > I will check if clang-3.4 for Ubuntu-12.04 can compile cmake (or any > other > > dependency problems would arise). > > > >> Usually the ABI is not the problem but the libstdc++, you can use a old > Ubuntu with old libstdc++ but build CMake with new compiler and make sure > it links with old libstdc++. This is the trick. > > > > Indeed. > > > > Regards, > > mpsuzuki > > > > Bo Zhou wrote: > >> The latest CMake requires C++11 compiler, so what you need is just a > newer GCC which supports C++11 at your platform, that's it. > >> > >> Usually the ABI is not the problem but the libstdc++, you can use a old > Ubuntu with old libstdc++ but build CMake with new compiler and make sure > it links with old libstdc++. This is the trick. > >> > >> I don't know how to do this on Ubuntu, but on CentOS, it's possible to > build CMake in that way, so the CMake would be portable at older CentOS > platform with old libstdc++ . > >> > >> Good luck. > >> > >> On Thu, Apr 5, 2018 at 12:23 PM, Eric Wing <ewmail...@gmail.com<mailto: > ewmail...@gmail.com>> wrote: > >> I just discovered that CMake no longer builds on my Ubuntu 12.04. I > >> need to build binaries that are compatible with that ABI. > >> > >> I see that your binary distribution of CMake 3.11 still works on > >> Ubuntu 12.04. Can you tell me what you do to achieve this? What are > >> you doing for your official builds? > >> > >> Are you just using -static-libstdc++ -static-libgcc for > >> CMAKE_CXX_FLAGS, or is there more? > >> > >> (I just noticed that ldd shows that you don't have dependencies on > >> libssl, libcrypto, and libz, whereas I do.) > >> > >> Thanks, > >> Eric > >> -- > >> > >> Powered by www.kitware.com<http://www.kitware.com> > >> > >> Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > >> > >> Kitware offers various services to support the CMake community. For > more information on each offering, please visit: > >> > >> CMake Support: http://cmake.org/cmake/help/support.html > >> CMake Consulting: http://cmake.org/cmake/help/consulting.html > >> CMake Training Courses: http://cmake.org/cmake/help/training.html > >> > >> Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > >> > >> Follow this link to subscribe/unsubscribe: > >> https://cmake.org/mailman/listinfo/cmake > >> > >> > >> > > > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > https://cmake.org/mailman/listinfo/cmake >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake