Created attachment 371752 [details] build.log Compile error on compiler_status.cpp: "x86_64-pc-linux-gnu-g++" -ftemplate-depth-128 -O2 -pipe -w -march=native -std=gnu++98 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DNDEBUG -I".." -c -o "regression/build/bin/gcc-4.7/gentoorelease/link-static/pch-off/threading-multi/compiler_status.o" "regression/src/compiler_status.cpp" regression/src/compiler_status.cpp: In function ‘std::string {anonymous}::revision(const boost::filesystem::path&)’: regression/src/compiler_status.cpp:131:20: error: ‘itr’ does not name a type regression/src/compiler_status.cpp:131:41: error: expected ‘;’ before ‘itr’ regression/src/compiler_status.cpp:131:41: error: ‘itr’ was not declared in this scope
+1 for me
The problem is the use of C++11 when C++98 is being forced: "x86_64-pc-linux-gnu-g++" -ftemplate-depth-128 -O2 -pipe -mtune=native -march=native -O2 -std=gnu++98 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_S YSTEM_STATIC_LINK=1 -DNDEBUG -I".." -c -o "regression/build/bin/gcc-4.8/gentoorelease/link-static/pch-off/threading-multi/compiler_status.o" "regression/src/compiler_status.cpp" regression/src/compiler_status.cpp: In function ‘std::string {anonymous}::revision(const boost::filesystem::path&)’: regression/src/compiler_status.cpp:131:15: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat] for(auto itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr) ^ regression/src/compiler_status.cpp:131:20: error: ‘itr’ does not name a type for(auto itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr) ^ regression/src/compiler_status.cpp:131:41: error: expected ‘;’ before ‘itr’ for(auto itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr)
I have the same issue. Is there any patch?
It seems to be an upstream problem -- it happens when I try to build the tarball from distfiles by itself. For some reason b2 is wanting to insert the flag requiring c++98. For now, disabling the tools use flag disables building the broken code.
boost-1.55.0-r1.ebuild: # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard. append-cxxflags -std=gnu++98 Should be easy to make it C++98 compatible though.
Created attachment 372900 [details, diff] c++98.patch
(In reply to Ed Catmur from comment #7) Patch works here. Tools compiled fine. Thank you.
*** Bug 504970 has been marked as a duplicate of this bug. ***
(In reply to Ed Catmur from comment #7) > Created attachment 372900 [details, diff] [details, diff] > c++98.patch Works for me.
(In reply to Ed Catmur from comment #7) > Created attachment 372900 [details, diff] [details, diff] > c++98.patch +1 for me
*** Bug 506262 has been marked as a duplicate of this bug. ***
Why is it still unconfirmed? There are 11 votes and 2 duplicates.
I had the same bug and the patch fixed it.
*** Bug 506630 has been marked as a duplicate of this bug. ***
(In reply to Ed Catmur from comment #7) > Created attachment 372900 [details, diff] [details, diff] > c++98.patch Patch works for me on ~amd64. The addition of epatch_user would go down well in Boost ...
+ 07 Apr 2014; Sergey Popov <pinkbyte@gentoo.org> boost-1.55.0-r1.ebuild, + +files/boost-1.55.0-tools-c98-compat.patch: + Fix building with USE='tools', wrt bug #506064, patch by Ed Catmur <ed AT + catmur.co.uk>