[omniORB] DynAny trouble building latest snapshot
bjorn rohde jensen
bjensen@mdsproteomics.dk
Thu, 18 Oct 2001 20:55:05 +0200
Hi,
I have just build the latest few hours old snapshot on my mandrake 8.0
box
using gcc 2.95.3, which, much to my suprise, required hacking around a
bit
in the DynAny code to resolve a few ambiguities....
g++ -c -g -Wall -Wno-unused -I.. -I./.. -I../include -I./../include
-D_REENTRANT -DUSE_omniORB_logStream -D_OMNIORB_DYNAMIC_LIBRARY
-DUnixArchitecture -I. -I. -I../../../../include -D__x86__ -D__linux__
-D__OSVERSION__=2 -o static/dynAny.o dynAny.cc
dynAny.cc: In method `class DynamicAny::DynAny *
omni::DynFixedImpl::copy()':
dynAny.cc:1052: request for member `_NP_decrRefCount' is ambiguous
../../../../include/omniORB4/CORBA_Object.h:110: candidates are: void
CORBA::Object::()
dynAny.cc:300: void
omni::DynAnyImplBase::_NP_decrRefCount()
dynAny.cc: In method `class DynamicAny::DynAny *
omni::DynEnumImpl::copy()':
dynAny.cc:1166: request for member `_NP_decrRefCount' is ambiguous
../../../../include/omniORB4/CORBA_Object.h:110: candidates are: void
CORBA::Object::_NP_decrRefCount()
dynAny.cc:300: void
omni::DynAnyImplBase::_NP_decrRefCount()
dynAny.cc: In method `class DynamicAny::DynAny *
omni::DynStructImpl::copy()':
dynAny.cc:2370: request for member `_NP_decrRefCount' is ambiguous
../../../../include/omniORB4/CORBA_Object.h:110: candidates are: void
CORBA::Object::_NP_decrRefCount()
dynAny.cc:300: void
omni::DynAnyImplBase::_NP_decrRefCount()
dynAny.cc: In method `class DynamicAny::DynAny *
omni::DynUnionEnumDisc::copy()':
dynAny.cc:2864: request for member `_NP_decrRefCount' is ambiguous
../../../../include/omniORB4/CORBA_Object.h:110: candidates are: void
CORBA::Object::_NP_decrRefCount()
dynAny.cc:300: void
omni::DynAnyImplBase::_NP_decrRefCount()
dynAny.cc: In method `class DynamicAny::DynAny *
omni::DynSequenceImpl::copy()':
dynAny.cc:3921: request for member `_NP_decrRefCount' is ambiguous
../../../../include/omniORB4/CORBA_Object.h:110: candidates are: void
CORBA::Object::_NP_decrRefCount()
dynAny.cc:300: void
omni::DynAnyImplBase::_NP_decrRefCount()
dynAny.cc: In method `class DynamicAny::DynAny *
omni::DynArrayImpl::copy()':
dynAny.cc:4237: request for member `_NP_decrRefCount' is ambiguous
../../../../include/omniORB4/CORBA_Object.h:110: candidates are: void
CORBA::Object::_NP_decrRefCount()
dynAny.cc:300: void
omni::DynAnyImplBase::_NP_decrRefCount()
make[3]: *** [static/dynAny.o] Error 1
make[3]: Leaving directory `/usr/local/omni/src/lib/omniORB/dynamic'
The very lovely inheritance graphs, if that is the word for it, which
gcc finds
ambiguous look something like this:
_NP_decrRefCount() CORBA_OBJECT
|
DynAny
/ \
_NP_decrRefCount() DynAnyImplBase \
| DynFixed
DynAnyImpl /
\ /
DynFixedImpl
I am rather puzzled by g++'s error message, the overloading does not
look
ambiguous to me, so to shut up g++ i qualified the call selecting
DynAnyImplBase::_NP_decrRefCount()
I suppose, i will find out, if that is right or wrong...
Yours sincerely,
Bjorn R. Jensen