Hi,<br><br>I've got the following compilation error while attempting to build boost-1.47.0 with 'clang++ -stdlib=libc++':<br><br>...<br>common.mkdir ../bin.v2/libs/wave<br>common.mkdir ../bin.v2/libs/wave/build<br>
common.mkdir ../bin.v2/libs/wave/build/clang-linux-3.0<br>common.mkdir ../bin.v2/libs/wave/build/clang-linux-3.0/release<br>common.mkdir ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static<br>common.mkdir ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi<br>
common.mkdir ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on<br>compile.c++.without-pth ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on/instantiate_cpp_exprgrammar.o<br>
In file included from ../libs/wave/src/instantiate_cpp_exprgrammar.cpp:14:<br>In file included from ../boost/wave/wave_config.hpp:229:<br>../boost/wave/util/flex_string.hpp:2573:34: error: incomplete type 'std::__1::ios_base' named in nested name specifier<br>
                is.setstate(std::ios_base::eofbit);<br>                            ~~~~~^~~~~~~~~~<br>/usr/include/c++/v1/iosfwd:95:7: note: forward declaration of 'std::__1::ios_base'<br>class ios_base;<br>      ^<br>
In file included from ../libs/wave/src/instantiate_cpp_exprgrammar.cpp:14:<br>In file included from ../boost/wave/wave_config.hpp:229:<br>../boost/wave/util/flex_string.hpp:2589:26: error: incomplete type 'std::__1::ios_base' named in nested name specifier<br>
        is.setstate(std::ios_base::failbit);<br>                    ~~~~~^~~~~~~~~~<br>/usr/include/c++/v1/iosfwd:95:7: note: forward declaration of 'std::__1::ios_base'<br>class ios_base;<br>      ^<br>2 errors generated.<br>
<br>  "clang++" -c -x c++ -stdlib=libc++ -march=native -O3 -finline-functions -Wno-inline -Wall -pthread  -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_USE_LIB=1 -DBOOST_WAVE_SUPPORT_THREADING=0 -DNDEBUG -I".." -o "../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on/instantiate_cpp_exprgrammar.o" "../libs/wave/src/instantiate_cpp_exprgrammar.cpp"<br>
<br>...failed compile.c++.without-pth ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on/instantiate_cpp_exprgrammar.o...<br>compile.c++.without-pth ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on/instantiate_cpp_grammar.o<br>
In file included from ../libs/wave/src/instantiate_cpp_grammar.cpp:14:<br>In file included from ../boost/wave/wave_config.hpp:229:<br>../boost/wave/util/flex_string.hpp:2573:34: error: incomplete type 'std::__1::ios_base' named in nested name specifier<br>
                is.setstate(std::ios_base::eofbit);<br>                            ~~~~~^~~~~~~~~~<br>/usr/include/c++/v1/iosfwd:95:7: note: forward declaration of 'std::__1::ios_base'<br>class ios_base;<br>      ^<br>
In file included from ../libs/wave/src/instantiate_cpp_grammar.cpp:14:<br>In file included from ../boost/wave/wave_config.hpp:229:<br>../boost/wave/util/flex_string.hpp:2589:26: error: incomplete type 'std::__1::ios_base' named in nested name specifier<br>
        is.setstate(std::ios_base::failbit);<br>                    ~~~~~^~~~~~~~~~<br>/usr/include/c++/v1/iosfwd:95:7: note: forward declaration of 'std::__1::ios_base'<br>class ios_base;<br>      ^<br>2 errors generated.<br>
<br>  "clang++" -c -x c++ -stdlib=libc++ -march=native -O3 -finline-functions -Wno-inline -Wall -pthread  -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_USE_LIB=1 -DBOOST_WAVE_SUPPORT_THREADING=0 -DNDEBUG -I".." -o "../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on/instantiate_cpp_grammar.o" "../libs/wave/src/instantiate_cpp_grammar.cpp"<br>
<br>...failed compile.c++.without-pth ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on/instantiate_cpp_grammar.o...<br>compile.c++.without-pth ../bin.v2/libs/wave/build/clang-linux-3.0/release/link-static/threading-multi/wavetool-on/instantiate_cpp_literalgrs.o<br>
In file included from ../libs/wave/src/instantiate_cpp_literalgrs.cpp:14:<br>In file included from ../boost/wave/wave_config.hpp:229:<br>../boost/wave/util/flex_string.hpp:2573:34: error: incomplete type 'std::__1::ios_base' named in nested name specifier<br>
                is.setstate(std::ios_base::eofbit);<br>                            ~~~~~^~~~~~~~~~<br>/usr/include/c++/v1/iosfwd:95:7: note: forward declaration of 'std::__1::ios_base'<br>class ios_base;<br>      ^<br>
In file included from ../libs/wave/src/instantiate_cpp_literalgrs.cpp:14:<br>In file included from ../boost/wave/wave_config.hpp:229:<br>../boost/wave/util/flex_string.hpp:2589:26: error: incomplete type 'std::__1::ios_base' named in nested name specifier<br>
        is.setstate(std::ios_base::failbit);<br>                    ~~~~~^~~~~~~~~~<br>/usr/include/c++/v1/iosfwd:95:7: note: forward declaration of 'std::__1::ios_base'<br>class ios_base;<br>      ^<br>2 errors generated.<br>
<br>and on and on...<br><br>Is this a bug in libc++ or something wrong with boost itself?<br>Any comments will be greatly appreciated.<br><br>Thanks!<br><br>Ryuta<br>