[omniORB] omniidl creating invalid include entry in generated header file

Lichszteld,Roman Roman.Lichszteld at bronermetals.com
Thu Jul 27 13:42:54 BST 2006


I have downloaded and compiled omniORB 4.0.7 on an HP-UX 11.23 Itanium
system using the HP aC++/ANSI C B3910B A.06.10 [Mar 22 2006] compiler.

After compiling IDL files I noticed that some of generated .hh files contain
the following block:

#ifndef __header_hh_EXTERNAL_GUARD__
#define __header_hh_EXTERNAL_GUARD__
#include "header.hh"
#endif

Problem is that 'header.hh' does not exist!

For instance 'CosNotifyComm.hh': I would rather expect that section instead:

#ifndef __CosNotification_hh_EXTERNAL_GUARD__
#define __CosNotification_hh_EXTERNAL_GUARD__
#include "CosNotification.hh"
#endif 

When I modified it as above everything works fine.

Similarly 'header.hh' include was generated for 'CosEventChannelAdmin.hh'
but in that case all I had to do was to remove this block as redundant.

I had no such problems while building omniORB 4.0.7 on Debian Linux
2.4.18-1-686 with gcc v2.95.4

I found similar issue reported by Brian McNamara last year but no workaround
for it so far.

Unfortunately it is not a whole story:

After I got everything up and running I tried to compile my sample IDL
(with command line options: -bcxx -Wba -Wbh='.h' -Wbs='.cxx'
-Wbd='DynSK.cxx' -Wbkeep_inc_path -C.):

#ifndef TEST_IDL
#define TEST_IDL

#include "module1.idl"
#include "module2.idl"
#include "module3.idl"

// Rest of the file...

#endif

This is header file generated by omniidl:

[...]

#ifndef ___hh_EXTERNAL_GUARD__
#define ___hh_EXTERNAL_GUARD__
#include <.h>
#endif

#ifndef __module2_hh_EXTERNAL_GUARD__
#define __module2_hh_EXTERNAL_GUARD__
#include "module2.h"
#endif

#ifndef __module3_hh_EXTERNAL_GUARD__
#define __module3_hh_EXTERNAL_GUARD__
#include "module3.h"
#endif

[...]

Again as you can see instead of '#include "module1.h"' there is an invalid
'.hh' section...

Thanks for any help,

Roman Lichszteld



More information about the omniORB-list mailing list