Re: Porting issue with aCC -AA with STLport on IA platform (191 Views)
Reply
Occasional Visitor
language and scripting
Posts: 4
Registered: ‎02-15-2007
Message 1 of 2 (191 Views)

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.
Acclaimed Contributor
Dennis Handly
Posts: 25,298
Registered: ‎03-06-2006
Message 2 of 2 (191 Views)

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".
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.