For 1.42 can no longer build boost on HP-UX.<br>File-system, program-options and serialisation all show a similar<br>problem<br><br>+ bjam --build-dir=./tmpBuildDir toolset=acc stage link=static --with-filesystem variant=debug<br> ...patience...<br>.......<br>acc.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/acc/debug/link-static/threading-multi/utf8_codecvt_facet.o<br>"./libs/detail/utf8_codecvt_facet.cpp", line 255: error #2014-D: extra text after expected end of preprocessing directive<br> � #elif WCHAR_MAX > 0x10000<br><br>�<br clear="all">The actual file <boost_root>/libs/detail/utf8_codecvt_facet.cpp <br>appears to have been changed in boost 1.40<br>for the function� get_cont_octet_out_count_impl<br> <br>FROM:<br>// note the following code will generate on some platforms where<br>// wchar_t is defined as UCS2.� The warnings are superfluous as<br>// the specialization is never instantitiated with such compilers.<br>template<><br> int get_cont_octet_out_count_impl<4>(wchar_t word){<br>��� if (word < 0x80) {<br>������� return 0;<br>��� }<br>��� if (word < 0x800) {<br>������� return 1;<br>��� }<br>��� if (word < 0x10000) {<br>������� return 2;<br> ��� }<br>��� if (word < 0x200000) {<br>������� return 3;<br>��� }<br>��� if (word < 0x4000000) {<br>������� return 4;<br>��� }<br>��� return 5;<br>}<br><br>TO:<br><br>template<><br>int get_cont_octet_out_count_impl<4>(wchar_t word){<br> ��� if (word < 0x80) {<br>������� return 0;<br>��� }<br>��� if (word < 0x800) {<br>������� return 1;<br>��� }<br><br>��� // Note that the following code will generate warnings on some platforms<br>��� // where wchar_t is defined as UCS2.� The warnings are superfluous as the<br> ��� // specialization is never instantitiated with such compilers, but this<br>��� // can cause problems if warnings are being treated as errors, so we guard<br>��� // against that.� Including <boost/detail/utf8_codecvt_facet.hpp> as we do<br> ��� // should be enough to get WCHAR_MAX defined.<br>#if !defined(WCHAR_MAX)<br>#�� error WCHAR_MAX not defined!<br>#endif<br>��� // cope with VC++ 7.1 or earlier having invalid WCHAR_MAX<br>#if defined(_MSC_VER) && _MSC_VER <= 1310 // 7.1 or earlier<br> ��� return 2;<br>#elif WCHAR_MAX > 0x10000<br>��� <br>�� if (word < 0x10000) {<br>������� return 2;<br>��� }<br>��� if (word < 0x200000) {<br>������� return 3;<br>��� }<br>��� if (word < 0x4000000) {<br>������� return 4;<br> ��� }<br>��� return 5;<br>��� <br>#else<br>��� return 2;<br>#endif<br>}<br>�<br>Does any one know of a work around ?<br><br>Any help appreciated.<br><br> � Best regards,<br>Ta,<br> � �Avi<br><br>