id summary reporter owner description type status milestone component version severity resolution keywords cc 2245 Compile error on HP-UX (PARISC) with gcc 4.2.1 michael.hufer@… Peter Dimov "I get the following error when compiling a 3rd party library (the webtoolkit http://www.webtoolkit.eu/wt) which uses boost/bind on HP-UX using the gcc 4.2.1: {{{ In file included from /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind.hpp:1571, from /home/mhufer/xgen-externals/webtoolkit/wt/src/Wt/WSignal:13, from /home/mhufer/xgen-externals/webtoolkit/wt/src/Wt/WResource:11, from /home/mhufer/xgen-externals/webtoolkit/wt/src/Wt/WWidget:10, from /home/mhufer/xgen-externals/webtoolkit/wt/src/Wt/WCssDecorationStyle:13, from /home/mhufer/xgen-externals/webtoolkit/wt/src/Wt/WCssStyleSheet:14, from /home/mhufer/xgen-externals/webtoolkit/wt/src/Wt/WApplication:15, from /home/mhufer/xgen-externals/webtoolkit/wt/src/http/../web/Configuration.h:15, from /home/mhufer/xgen-externals/webtoolkit/wt/src/http/RequestHandler.h:26, from /home/mhufer/xgen-externals/webtoolkit/wt/src/http/Connection.h:43, from /home/mhufer/xgen-externals/webtoolkit/wt/src/http/ConnectionManager.h:26, from /home/mhufer/xgen-externals/webtoolkit/wt/src/http/ConnectionManager.C:17: /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind/bind_mf2_cc.hpp:18: error: expected identifier before numeric constant /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind/bind_mf2_cc.hpp:18: error: expected '>' before numeric constant /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind/bind_mf2_cc.hpp:20: error: 'R' was not declared in this scope /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind/bind_mf2_cc.hpp:20: error: 'T' was not declared in this scope /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind/bind_mf2_cc.hpp:20: error: template argument 1 is invalid /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind/bind_mf2_cc.hpp:20: error: template argument 2 is invalid /home/mhufer/xgen-externals/install/HP-UX-gcc/boost-1.36.0/include/boost/bind/bind_mf2_cc.hpp:20: error: 'A1' [..] }}} It turns out that in somewhere else 'R2' is defined in this constellation. Since I don't know if and if yes where this define might be used I added a few lines before and after the template declarations. Before: {{{ #ifdef R2 #define __R2safe__ R2 #undef R2 #endif /* here follow the template declarations using R2 as a template class name*/ [..] #ifdef __R2safe__ #define R2 __R2safe__ #undef __R2safe__ #endif }}}" Bugs closed Boost 1.37.0 bind Boost 1.36.0 Problem fixed HP_UX gcc 4.2.1 bind