[omniORB] OmniORB 2.8.0 HPUX 64-bits porting

Duncan Grisby duncan at grisby.org
Fri Apr 30 18:12:45 BST 2004


On Wednesday 28 April, =?ISO-8859-1?Q?Carlos_Tom=E1s?= wrote:

>     I've been working for 2 months with omniORB 2.8.0 on HPUX 11.00; I
> need to compile a CORBA process with a 64 bits library, but omniORB 2.8.0 is
> implemented for 32 bits, so I found errors at the linking phase, because of
> the differences between omniORB2 32-bits library and my 64-bits library.

Why are you using such an ancient version of omniORB?  Regardless,
omniORB 2.8.0 should work fine on 64 bit platforms -- there is nothing
inherently 32 bit about it. We used to run it on DEC Alphas.

>     At the first time, I made these two changes in order to obtain a
> 64-bits version of omniORB 2.8.0 libraries :
> 
> - I included the +DA2.0W compilation option in the installation process
> - I changed the CORBA_sysdep.h file line
> #define SIZEOF_LONG 4
>     for
> #define SIZEOF_LONG 8

That's correct.

>     The compilation of  the make process for building and installation
> was successful and everything seemed to run OK until I used "long" types:
> CORBA complained "LONG" size was 32 instead of 64 bits.
> 
>     Then, I changed the CORBA_basetypes.h file lines:
> #if SIZEOF_LONG == 4
> typedef long                      _CORBA_Long;
> typedef unsigned long             _CORBA_ULong;
>     for
> #if SIZEOF_LONG == 8
> typedef long                      _CORBA_Long;
> typedef unsigned long             _CORBA_ULong;

This is wrong. CORBA long and ulong are explicitly 32 bits in the
CORBA standard. Everything will break if you make them 64 bits.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list