Hi,
Greetings to everybody.
We are evaluating ACE+TAO 2.0a to replace IONA Orbix(of Progress Software) with ACE+TAO 2.0a in one of our project.
During initial phase , we are facing following difficulties to compile the existing IDL files.
The details as follows:
==================================================================
TAO VERSION: 2.0a
HOST MACHINE and OPERATING SYSTEM: LINUX (Red Hat Enterprise Linux Server release 5.2 (Tikanga) )
TARGET MACHINE and OPERATING SYSTEM, if different from HOST: LINUX (Red Hat Enterprise Linux Server release 5.2 (Tikanga) )
COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc-c++-4.1.2-42.el5
CONTENTS OF $ACE_ROOT/ace/config.h : #include "ace/config-linux.h"
CONTENTS OF $ACE_ROOT/include/makeinclude/platform_macros.GNU :include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
INSTALL_PREFIX=/tmp/TAO-INSTAL
CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features: File is not present.
LEVEL OF URGENCY (LOW, MEDIUM, or HIGH): HIGH
AREA/CLASS/EXAMPLE AFFECTED: IDL file compilation
DOES THE PROBLEM AFFECT:
COMPILATION? Yes
LINKING? No
On Unix systems, did you run make realclean first? No
EXECUTION? No
OTHER (please specify)? No
==================================================================
2. When we compile our existing IDL files(.idl), for some of the IDL files. the tao_idl compiler complains saying "Error: anonymous types are deprecated by OMG spec".
May I know what are the possible reason behind this error. Why this error is coming for some of our existing IDL files not for ALL.
As per the tao_idl compiler options , we can silent this error by using -as option.
- If we do so what are the side effects.
- Is it possible to fix this error by changing the IDL files(without any functional impact) and not using -as option.
3. Our existing IDL files has reference to "string port" becasue of which the tao_idl compiler complains saying "Illegal syntax or missing identifier following member type".
Is "port" a keyword for TAO?
Is there any way to fix this error without changing the variable name (i.e. port)?
4. In one of the IDL file, we are including one of our header file. but the IDL compiler complains saying
ERROR, invalid file '<header File Name>' includedbe_visitor_root_ch::init - Error opening client header file
be_visitor_root_ch::init - failed to initialize
BE_visit_root - client header for Root failed
Fatal Error - Aborting
Why it is so ? If I make the #include at the start of the IDL file, then I do not see this error.
Is there any way to overcome this issue without moving the line to first line?
5. IDL file includes header file which inturn includes a rougwave(a third party) header file.
But the tao_idl compiler complains saying "tao_idl: "<File Name>", line <Number>: Statement cannot be parsed".
If I look at the line where the tao_idl is complaining I do not see any wrong. FYI. IONA Orbix does not complain the same.
The line is like(Note I have changed the function name and the string ) :
inline const char * func() { return "Some String"; }