Operating System - Linux
1752777 Members
5832 Online
108789 Solutions
New Discussion

Porting issue with aCC -AA with STLport on IA platform

 

Porting issue with aCC -AA with STLport on IA platform

We are porting one product called Conexon from Solaris to HP-UX 11.23 IA platform. Which uses third party products like:

ACE/TAO
ICU
STLport
GnuPG

We are using A.06.13 version aCC.

We have compiled 3rd party products using â AA flag. When they try to compile the Conexon product with â AA flag which also uses STLport third party product. It gives some errors. Here it seems some conflict between the namespace defined by aCC (std) and name space defined by STLport. Following are errors I got:

I also tried to use tried to use +nostl flag but that also give many error. Please see attached file (Error_AA_nostl_STLport.txt) for errors.


If I go for â AP option then I need to compile third party libraries also with â AP option as we can't use libraries built with -AA and -AP flags together. When we compile ACE/TAO one of 3rd party product it give lots of errors, where it looks for standard name space and requires some changes in source code. One of the change as per following error I can predict, require in use of "reverse_iterator". Here reverse_iterator template has different no. of argument in Classic and standard library. After looking into aCC header file declaration I found that standard reverse_iterator require one argument while classic one is required 4 arguments and when we compile it with -AP option it gives problem. Is it possible to fix this issue without code modification ????

=========================================================================================================

aCC -AP -g -DACE_HAS_THREADS -mt -Dstd= -D_INCLUDE__STDC_A1_SOURCE -D_HPUX_SOURCE -DHPUX_VERS=1123 -DACE_LACKS_PRAGMA_ONCE -I/admin/3rd_party/HP-UX/ACE_wr
appers -I/admin/3rd_party/HP-UX/ACE_wrappers/TAO -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -I../../.. -I/admin/3rd_party/HP-UX/ACE_wrappers/TAO -I/admin/3rd_
party/HP-UX/ACE_wrappers/TAO/orbsvcs -DTAO_NAMING_BUILD_DLL -c +Z -o .shobj/CosNamingC.o CosNamingC.cpp "/admin/3rd_party/HP-UX/ACE_wrappers/ace/Array_Map.h", line 130: error #2442: too few arguments for class template "reverse_iterator"
typedef std::reverse_iterator reverse_iterator;
^

"/admin/3rd_party/HP-UX/ACE_wrappers/ace/Array_Map.h", line 131: error #2442: too few arguments for class template "reverse_iterator"
typedef std::reverse_iterator const_reverse_iterator;


==============================================================================================================


Could anyone please provide us some pointer that how we can proceed in current situation either with -AA flag or -AP flag. Iâ ll really appreciate your help regarding this.
1 REPLY 1
Dennis Handly
Acclaimed Contributor

Re: Porting issue with aCC -AA with STLport on IA platform

When you use +nostl, you are responsible for putting back any needed -Is and -ls.
In particular you need -I/usr/include and -lCsup -lunwind

Your problem with -AP is related to:
-AP -Dstd=
You can't remove "std".