Dear Bo Zhou, Thank you for prompt reply.
> 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. Oh, so, even if I installed clang-3.4, still it uses older (maybe C++03) libraries are referred by it? Regards, mpsuzuki Bo Zhou wrote: > 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<mailto: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><mailto: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><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<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