[omniORB] AIX again: AIX4.3, omniORB4, xlC5, scoping problem?
Rainer Frohnhoefer
rain_list@arcor.de
Sun Oct 27 19:01:02 2002
Hi,
after spending some time trying to get omniORB4 to compile with xlc5 on
AIX, I ended up with a method signature problem:
[snip]
Listing ./impl ...
Listing ./skel ...
gmake[4]: Leaving directory
`/home/u/frohnhoe/debugit/tmp/omniORB-4.0.0/src/lib/omniORB/omniidl_be/
cxx'
File __init__.py hasn't changed.
gmake[3]: Leaving directory
`/home/u/frohnhoe/debugit/tmp/omniORB-4.0.0/src/lib/omniORB/omniidl_be'
making export in src/lib/omniORB/orbcore...
gmake[3]: Entering directory
`/home/u/frohnhoe/debugit/tmp/omniORB-4.0.0/src/lib/omniORB/orbcore'
xlC_r -c -qstaticinline -qmaxmem=8192 -qlonglong -qlongdouble -I..
-I./.. -I../../../../include/omniORB4/internal -D_REENTRANT
-D_THREAD_SAFE -DUSE_omniORB_logStream -D_OMNIORB_LIBRARY
-DCONFIG_DEFAULT_LOCATION='"/etc/omniORB.cfg"'
-DCONFIG_ENV='"OMNIORB_CONFIG"' -DUnixArchitecture -I. -I.
-I../../../../include -D__aix__ -D__powerpc__ -D__OSVERSION__=4 -o
static/corbaBoa.o corbaBoa.cc
"../omniORB4/ir_operators.hh", line 8.3: 1540-0218 (S) The call does
not match any parameter list for "::operator>>=".
"../../../../include/omniORB4/corba_operators.h", line 41.32: 1540-1283
(I) "operator>>=(const CORBA::Any &, const CORBA::UNKNOWN *&)" is not a
viable candidate.
"../omniORB4/ir_operators.hh", line 8.17: 1540-0295 (I) A parameter of
type "const CORBA::Any &" cannot be initialized with an rvalue of type
"unsigned long".
[snip list of nonmatching methods and then ...]
"../../../../include/omniORB4/cdrStream.h", line 377.22: 1540-1298 (I)
"void operator>>=(_CORBA_LongDouble, cdrStream &)" needs to be declared
in the containing scope to be found by name lookup.
"../../../../include/omniORB4/cdrStream.h", line 345.22: 1540-1298 (I)
"void operator>>=(_CORBA_Double, cdrStream &)" needs to be declared in
the containing scope to be found by name lookup.
"../../../../include/omniORB4/cdrStream.h", line 319.22: 1540-1298 (I)
"void operator>>=(_CORBA_Float, cdrStream &)" needs to be declared in
the containing scope to be found by name lookup.
"../../../../include/omniORB4/cdrStream.h", line 301.22: 1540-1298 (I)
"void operator>>=(_CORBA_ULongLong, cdrStream &)" needs to be declared
in the containing scope to be found by name lookup.
"../../../../include/omniORB4/cdrStream.h", line 285.22: 1540-1298 (I)
"void operator>>=(_CORBA_LongLong, cdrStream &)" needs to be declared
in the containing scope to be found by name lookup.
"../../../../include/omniORB4/cdrStream.h", line 269.22: 1540-1298 (I)
"void operator>>=(_CORBA_ULong, cdrStream &)" needs to be declared in
[snip, rest of errors similar to above]
Having spent too much time with Java, I'm not really into C++. Could
it be that a) I hit a problem with scopes in the source code or b)
xlC5.0 is buggy in this regard or c) I'm doing something fundamentally
wrong?
I played a bit with xlC switches of the "-qlanglvl=<level>:<feature>"
variety but this didn't help.
Or did someone even manage to build omniORB4 with AIX4.3 and xlC5?
Any hints appreciated,
-Rainer.