[omniORB] Alpha/Digital UX link errors linking example 1
agonne - Andrew Gonnet
AGONNE@acxiom.co.uk
Wed, 2 Jun 1999 15:08:51 +0100
Hi Sai-Lai,
Thanks very much for your reply. I checked the version of cxx that I
was using. There is only one copy installed, it is 6.1-029 and it's
the one being used. I also checked my LD_LIBRARY_PATH and found that I
was using the .so files from omniORB 2.6.1 not 2.7.1. I corrected
LD_LIBRARY_PATH, deleted everything, untared the distribution from
scratch and tried again using the make file in "echo" and typing "make
eg1". I now get three unresolved references:
"CORBA::__vtbl_5CORBA15SystemException",
"CORBA::__vtbl_5CORBA9NO_MEMORY" and
"CORBA::__vtbl_5CORBA13BAD_OPERATION". These are all in the echoSK.o
object that I'm creating from the output of "omniidl2". Here is a
listing of the make output:
-----------------------------------------------------------
/usr/users/develop/agonne/WareHouse/omniORB/omniORB_2.7.1/src/examples/
echo >make eg1
mkdirhier ../../../stub
rm -f ../../../stub/echo.idl
cp echo.idl ../../../stub
chmod +w ../../../stub/echo.idl
( cd ../../../stub; \
../bin/alpha_osf1_4.0/omniidl2 -a echo.idl; \
)
../../../bin/alpha_osf1_4.0/omkdepend -D__DECCXX -D__cplusplus
-D__OMNIORB2__ -I../../../stub -D_REENTRANT -pthread -I.
-I../../../include -D__alpha__ -D__osf1__ -D__OSVERSION__=4 eg3_clt.cc
eg3_impl.cc eg2_clt.cc eg2_impl.cc eg1.cc greeting.cc
/usr/bin/cxx -c -O -ptr ../../../cxx_respository -D__OMNIORB2__
-I../../../stub -D_REENTRANT -pthread -I. -I../../../include
-D__alpha__ -D__osf1__ -D__OSVERSION__=4 -o eg1.o eg1.cc
/usr/bin/cxx -c -O -ptr ../../../cxx_respository -D__OMNIORB2__
-I../../../stub -D_REENTRANT -pthread -I. -I../../../include
-D__alpha__ -D__osf1__ -D__OSVERSION__=4 -o ../../../stub/echoSK.o
../../../stub/echoSK.cc
/usr/bin/cxx -c -O -ptr ../../../cxx_respository -D__OMNIORB2__
-I../../../stub -D_REENTRANT -pthread -I. -I../../../include
-D__alpha__ -D__osf1__ -D__OSVERSION__=4 -o ../../../stub/echoDynSK.o
../../../stub/echoDynSK.cc
+ rm -f eg1
+ /usr/bin/cxx -o eg1 -O -ptr ../../../cxx_respository -call_shared
-L../../../lib/alpha_osf1_4.0 eg1.o ../../../stub/echoSK.o
../../../stub/echoDynSK.o -lomniORB2 -lomniDynamic2 -lomnithread
-lpthread -lmach -lc_r -ltcpwrapGK -rpath ../../../lib/alpha_osf1_4.0
ld:
Unresolved:
CORBA::__vtbl_5CORBA15SystemException Make sure that the first
noninlined virtual member function of 'CORBA::SystemException' is
defined.
CORBA::__vtbl_5CORBA9NO_MEMORY Make sure that the first noninlined
virtual member function of 'CORBA::NO_MEMORY' is defined.
CORBA::__vtbl_5CORBA13BAD_OPERATION Make sure that the first
noninlined virtual member function of 'CORBA::BAD_OPERATION' is
defined.
make: *** [eg1] Error 1
/usr/users/develop/agonne/WareHouse/omniORB/omniORB_2.7.1/src/examples/
echo >/usr/bin/cxx -V
DIGITAL C++ V6.1-029 on DIGITAL UNIX V4.0 (Rev. 1091)
-----------------------------------------------------------------------
----------
I've also put the whole set of source files onto a different Alpha
machine which had cxx v6.0-021 on it still. I got an additional
unresolved "CORBA::__vtbl_5CORBA9Exception", see below:
----------------------------------------------------------------------
$ make eg1
mkdirhier ../../../stub
rm -f ../../../stub/echo.idl
cp echo.idl ../../../stub
chmod +w ../../../stub/echo.idl
( cd ../../../stub; \
../bin/alpha_osf1_4.0/omniidl2 -a echo.idl; \
)
../../../bin/alpha_osf1_4.0/omkdepend -D__DECCXX -D__cplusplus
-D__OMNIORB2__ -I../../../stub -D_REENTRANT -pthread -I.
-I../../../include -D__alpha__ -D__osf1__ -D__OSVERSION__=4 eg3_clt.cc
eg3_impl.cc eg2_clt.cc eg2_impl.cc eg1.cc greeting.cc
/usr/bin/cxx -c -O -ptr ../../../cxx_respository -D__OMNIORB2__
-I../../../stub -D_REENTRANT -pthread -I. -I../../../include
-D__alpha__ -D__osf1__ -D__OSVERSION__=4 -o eg1.o eg1.cc
/usr/bin/cxx -c -O -ptr ../../../cxx_respository -D__OMNIORB2__
-I../../../stub -D_REENTRANT -pthread -I. -I../../../include
-D__alpha__ -D__osf1__ -D__OSVERSION__=4 -o ../../../stub/echoSK.o
../../../stub/echoSK.cc
/usr/bin/cxx -c -O -ptr ../../../cxx_respository -D__OMNIORB2__
-I../../../stub -D_REENTRANT -pthread -I. -I../../../include
-D__alpha__ -D__osf1__ -D__OSVERSION__=4 -o ../../../stub/echoDynSK.o
../../../stub/echoDynSK.cc
+ rm -f eg1
+ /usr/bin/cxx -o eg1 -O -ptr ../../../cxx_respository -call_shared
-L../../../lib/alpha_osf1_4.0 eg1.o ../../../stub/echoSK.o
../../../stub/echoDynSK.o -lomniORB2 -lomniDynamic2 -lomnithread
-lpthread -lmach -lc_r -ltcpwrapGK -rpath ../../../lib/alpha_osf1_4.0
ld:
Unresolved:
CORBA::__vtbl_5CORBA9Exception
CORBA::__vtbl_5CORBA15SystemException
CORBA::__vtbl_5CORBA9NO_MEMORY
CORBA::__vtbl_5CORBA13BAD_OPERATION
make: *** [eg1] Error 1
$ cxx -V
DIGITAL C++ V6.0-021 on DIGITAL UNIX V4.0 (Rev. 1091)
-----------------------------------------------------------------------
----------
Any suggestions, however unlikely, would be much appreciated.
Thanks again,
Andrew Gonnet.
----------
From: Sai-Lai Lo [SMTP:S.Lo@uk.research.att.com]
Sent: 02 June 1999 10:18
To: agonne - Andrew Gonnet
Subject: Re: [omniORB] Alpha/Digital UX link errors linking example
1
>>>>> agonne writes:
> I'm getting unresolved errors for methods that are called in the
> object generated from the "echoSK.cc" using the supplied make file
in
> the "echo" example directory. Using "nm" I can find these methods in
> the "echoSK.o" object, but the version in the supplied object
> "libomniORB2.so" is in the format "__vtbl_Q15CORBA7UNKNOWN" etc -
i.e
> there's an extra "Q1" in the middle.
> Has anybody come across this problem?
> I'm using Digital UX v4.0e, Digital cxx 6.0 (for compiling), gcc
2.8.1
> (just for omniidl2, it complained when it wasn't there) and omniORB
> 2.7.1.
It is strange because greping through nm echoSK.o I do not see any
reference to UNKNOWN.
Just a wild guess, are you sure you are compiling echoSK.o with the
same
cxx 6.0 compiler?
Sai-Lai
--
Sai-Lai Lo S.Lo@uk.research.att.com
AT&T Laboratories Cambridge WWW:
http://www.uk.research.att.com
24a Trumpington Street Tel: +44 1223 343000
Cambridge CB2 1QA Fax: +44 1223 313542
ENGLAND