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>&quot;./libs/detail/utf8_codecvt_facet.cpp&quot;, line 255: error #2014-D: extra text after expected end of preprocessing directive<br>
� #elif WCHAR_MAX &gt; 0x10000<br><br>�<br clear="all">The actual file &lt;boost_root&gt;/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&lt;&gt;<br>
int get_cont_octet_out_count_impl&lt;4&gt;(wchar_t word){<br>��� if (word &lt; 0x80) {<br>������� return 0;<br>��� }<br>��� if (word &lt; 0x800) {<br>������� return 1;<br>��� }<br>��� if (word &lt; 0x10000) {<br>������� return 2;<br>
��� }<br>��� if (word &lt; 0x200000) {<br>������� return 3;<br>��� }<br>��� if (word &lt; 0x4000000) {<br>������� return 4;<br>��� }<br>��� return 5;<br>}<br><br>TO:<br><br>template&lt;&gt;<br>int get_cont_octet_out_count_impl&lt;4&gt;(wchar_t word){<br>
��� if (word &lt; 0x80) {<br>������� return 0;<br>��� }<br>��� if (word &lt; 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 &lt;boost/detail/utf8_codecvt_facet.hpp&gt; 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) &amp;&amp; _MSC_VER &lt;= 1310 // 7.1 or earlier<br>
��� return 2;<br>#elif WCHAR_MAX &gt; 0x10000<br>��� <br>�� if (word &lt; 0x10000) {<br>������� return 2;<br>��� }<br>��� if (word &lt; 0x200000) {<br>������� return 3;<br>��� }<br>��� if (word &lt; 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>