FS#35442 - [boost] Configure to support clang/libstdc++/C++11 features
Attached to Project:
Arch Linux
Opened by Zulan (Zulan) - Thursday, 23 May 2013, 15:07 GMT
Last edited by Evangelos Foutras (foutrelis) - Sunday, 09 November 2014, 03:02 GMT
Opened by Zulan (Zulan) - Thursday, 23 May 2013, 15:07 GMT
Last edited by Evangelos Foutras (foutrelis) - Sunday, 09 November 2014, 03:02 GMT
|
Details
Description:
Boost is unable to determine libstdc++ features when clang as a compiler is used. Clang on arch uses libstdc++ as default stdlib. This results in a lack of enabled boost-C++11-features. The following boost ticket describes the issue: https://svn.boost.org/trac/boost/ticket/7473 It has been stated that using clang / libstdc++ is an "unsupported configuration" and that the configure script should be used to fix this. http://www.boost.org/doc/libs/1_53_0/libs/config/doc/html/index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script AFAIK the versions of gcc and clang shipped by arch support all the nice libstdc++ features, so it seems reasonable to enable them via the configure. It is frustrating for me as a user to see that I have all the nice latest versions and yet they don't work with each other. It's clearly not arch's fault, but it would be great if distribution, library and compiler developers could communicate to solve this. Additional info: * boost-1.53.0-2 Steps to reproduce: compile the following code: #include <array> #include <boost/functional/hash.hpp> size_t foo(std::array<int, 2> bar) { return boost::hash_value(bar); } g++ -c -std=c++11 (works) clang++ -c -std=c++11 (fails) clang++ -c -std=c++11 -D__GNUC_MINOR__=8 (evil workaround) |
This task depends upon
Closed by Evangelos Foutras (foutrelis)
Sunday, 09 November 2014, 03:02 GMT
Reason for closing: Fixed
Additional comments about closing: boost 1.57.0-2
Sunday, 09 November 2014, 03:02 GMT
Reason for closing: Fixed
Additional comments about closing: boost 1.57.0-2
Please test and confirm once boost 1.57 moves to [testing].