[omniORB] omniNotify compile error on 64 bits (Amd-Linux RHel3 / sparc-solaris2.8) platforms

Frederic Prin frederic.prin at silvaco.com
Wed Jul 7 16:36:56 BST 2004


Hi all,

Here is the first compile error I get if I do not hack the omniNotify
code (on 64 bit machine like sparc solaris2.8 64 or Linux RHel3-64):

Below is a linux rhel3-64 omniNotify build:

/usr/bin/g++ -c -g   -Wall -Wno-unused -fexceptions -D__OMNIORB4__ 
    -I../stub 
    -D_REENTRANT 
 
-I/mnt/sipc/Omni_Distribution_1/omniORB-4.0.3/omniORB-4.0.3-i386-linux-r
h3-64/include 
    -I../include/COS 
    -I../../include/COS 
 
-I/mnt/sipc/Omni_Distribution_1/omniORB-4.0.3/omniORB-4.0.3-i386-linux-r
h3-64/include/COS 
    -D_OMNINOTIFY_LIBRARY 
    -DUSE_stub_in_nt_dll 
    -I. 
    -I../../lib 
    -I../include 
    -I../../include 
    -D__OSVERSION__=2 
    -D__linux__ 
    -I../src/services/omniNotify/include 
    -I../../src/services/omniNotify/include 
 
-I/mnt/sipc/Omni_Distribution_1/omniORB-4.0.3/omniORB-4.0.3-i386-linux-r
h3-64/src/services/omniNotify/include 
    -o static/RDIInteractive.o 
    ../../lib/RDIInteractive.cc
In file included from ../../include/RDIInteractive.h:35,
                 from ../../lib/RDIInteractive.cc:32:
../../include/RDIstrstream.h:69: 
    `RDIstrstream& RDIstrstream::operator<<(long int)' and
    `RDIstrstream& RDIstrstream::operator<<(long int)' cannot be
overloaded
    
../../include/RDIstrstream.h:70: 
    `RDIstrstream& RDIstrstream::operator<<(long unsigned int)' and
    `RDIstrstream& RDIstrstream::operator<<(long unsigned int)' cannot
be overloaded

The RDIstrstream.h file is as follow:
#ifdef HAS_LongLong
  RDIstrstream& operator<<(WRAPPED_CORBA_LONGLONG_TYPE n); <<== line 69
  RDIstrstream& operator<<(WRAPPED_CORBA_ULONGLONG_TYPE n);
#endif


If someone have already experienced this error, I will be very happy to
hear about the fix !
The fix I did (in the past) was to undefined HAS_LongLong... But this
(uggly) fix makes omniNotify not to work across 32<-->64 bits
platforms... (I'm not totally sure but it seems to be case).

I already post such a mail (for solaris2.8 64 bits) a while ago but I
had no response... So, I try again!

Thanks 

FredP

-----Original Message-----
From: Duncan Grisby [mailto:duncan at grisby.org] 
Sent: mardi 6 juillet 2004 17:53
To: Frederic Prin
Subject: Re: [omniORB] omniNotify optimization when sender/receiver on
same machine 


On Tuesday 6 July, "Frederic Prin" wrote:

> The first line of my omniNotify/config.log are (the whole file is
> attached):
> (note the -DLINUX64 is for my specific compilation hack) (also note 
> that I had the same hack to do for my sparc 64bit solaris2.8 platform 
> and that all my programs works on this platform Without this hack, I 
> cannot compile omniNotify on 64 bits, linux and solaris, platforms)
> (Finally note that omniORB-4.0.3 compiles perfectly under both
> solaris2.8 64 bit and Linux 64 bit without a hack. It is only NEEDED
for
> omniNotify)

Can you send the output of omniORB's configure please?  omniNotify uses
the definitions created by that for the long long types and so on.

Cheers,

Duncan.

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




More information about the omniORB-list mailing list