[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