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

Reply via email to