Opened 14 years ago

Closed 14 years ago

#2245 closed Bugs (fixed)

Compile error on HP-UX (PARISC) with gcc 4.2.1

Reported by: michael.hufer@… Owned by: Peter Dimov
Milestone: Boost 1.37.0 Component: bind
Version: Boost 1.36.0 Severity: Problem
Keywords: HP_UX gcc 4.2.1 bind Cc:

Description

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

Change History (2)

comment:1 by Peter Dimov, 14 years ago

Status: newassigned

comment:2 by Peter Dimov, 14 years ago

Resolution: fixed
Status: assignedclosed

(In [48840]) Fix #2245.

Note: See TracTickets for help on using tickets.