Building Rogue Wave Products on Solaris 2.6 with SunPro 5.2

Article ID: 914
Last updated: 31 Jan, 2008
Article ID: 914
Last updated: 31 Jan, 2008
Revision: 1
Views: 4060
Posted: 30 Mar, 2001
by Dean J.
Updated: 31 Jan, 2008
by Dean J.
Problem


Problems building the Rogue Wave Products with the new SunPro 5.2 compiler on Solaris 2.6.  This knowledge base article does not deal with the -compat flag.

You may see error message like the following:

"../../../rw/stdex/slist.h", line 90: Error: A qualifier is not allowed for rebind.
"../../../rw/ev_cntnr.h", line 50:     Where: While specializing "rw_slist<RWTraceEvent, std::allocator<RWTraceEvent>>".
"../../../rw/ev_cntnr.h", line 50:     Where: Specialized in RW_VBase<rw_slist<RWTraceEvent, std::allocator<RWTraceEvent>>, RWTValSlist<RWTraceEvent>>.




Cause


Several compiler specific macros do not get set correctly.

 




Action


These fixes are NOT official fixes and are NOT certified.  Use at your own risk.

After making the changes below, use the SPM and select the Solaris 2.6 SunPro 5.2 configuration. 

Modify the following files (all changes in blue, file names are in red):
/parts/tls0711u/source/src/rw/compiler.in

931:#if (__SUNPRO_CC == 0x500) && defined(RW_RWV2X_STDLIB)
932:    #define RW_3ARG_DISTANCE      1
933:    #define RW_ALLOC_INTERFACE_STLV2X_HACK 1
934:  #endif

Add these lines after this section

935:  #if (__SUNPRO_CC == 0x520) && defined(RW_RWV2X_STDLIB)
936:    #define RW_3ARG_DISTANCE      1
937:    #define RW_ALLOC_INTERFACE_STLV2X_HACK 1
938:  #endif

/parts/tls0711u/examples/src/dequeval.cpp:
39:#  if defined(__SUNPRO_CC) && (__SUNPRO_CC == 0x500)
40:#         include <functional> // STL utilities; for ptr_fun, sunpro50
41:#  endif

to now read like this:
39:#  if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x500)
40:#         include <functional> // STL utilities; for ptr_fun, sunpro50
41:#  endif


/parts/thr0201u/include/rw/thr/defs.h:

723:RW_THR_COMPILER_SUN_SUNPRO_5_0_0          "5.0.0"

2062:#     elif (__SUNPRO_CC == 0x0500) || !defined(RW_THR_ENABLE_CERTIFIED_ONLY)
2062:         // Sun Sunpro C++ v5.0.0 Certified
2063:#        define RW_THR_COMPILER_SUN_SUNPRO_5_0_0          "5.0.0"
2064:#        define RW_THR_COMPILER_VERSION_NAME              RW_THR_COMPILER_SUN_SUNPRO_5_0_0
2065:#        define RW_THR_WONT_INSTANTIATE_TYPEDEFS_ON_TEMPLATE_PARAMETER
2066:#        define RW_THR_CANT_INLINE_TEMPLATE_FUNCTIONS
2067:#        define RW_THR_SUN_BUG_4227111
2068:#        define RW_THR_NAMESPACE_AMBIGUITY
2069:#     else
2070:#        error This version of Threads.h++ has not been certified for use with this Sun compiler!

Make the following modifications:
724:RW_THR_COMPILER_SUN_SUNPRO_5_2_0          "5.2.0"

2062:#     elif (__SUNPRO_CC == 0x0500) || !defined(RW_THR_ENABLE_CERTIFIED_ONLY)
2062:         // Sun Sunpro C++ v5.0.0 Certified
2063:#        define RW_THR_COMPILER_SUN_SUNPRO_5_0_0          "5.0.0"
2064:#        define RW_THR_COMPILER_VERSION_NAME              RW_THR_COMPILER_SUN_SUNPRO_5_0_0
2065:#        define RW_THR_WONT_INSTANTIATE_TYPEDEFS_ON_TEMPLATE_PARAMETER
2066:#        define RW_THR_CANT_INLINE_TEMPLATE_FUNCTIONS
2067:#        define RW_THR_SUN_BUG_4227111
2068:#        define RW_THR_NAMESPACE_AMBIGUITY
2069:#     elif (__SUNPRO_CC == 0x0520) || !defined(RW_THR_ENABLE_CERTIFIED_ONLY)
2070:         // Sun Sunpro C++ v5.2.0 Certified
2071:#        define RW_THR_COMPILER_SUN_SUNPRO_5_2_0          "5.2.0"
2072:#        define RW_THR_COMPILER_VERSION_NAME              RW_THR_COMPILER_SUN_SUNPRO_5_2_0
2073:#        define RW_THR_WONT_INSTANTIATE_TYPEDEFS_ON_TEMPLATE_PARAMETER
2074:#        define RW_THR_CANT_INLINE_TEMPLATE_FUNCTIONS
2075:#        define RW_THR_SUN_BUG_4227111
2076:#        define RW_THR_NAMESPACE_AMBIGUITY
2077:#     else
2078:#        error This version of Threads.h++ has not been certified for use with this Sun compiler!

This article was:   Helpful | Not helpful
Report an issue
Article ID: 914
Last updated: 31 Jan, 2008
Revision: 1
Views: 4060
Posted: 30 Mar, 2001 by Dean J.
Updated: 31 Jan, 2008 by Dean J.

Others in this category