[omniORB] Alpha/Digital UX link errors linking example 1

agonne - Andrew Gonnet AGONNE@acxiom.co.uk
Mon, 7 Jun 1999 13:29:55 +0100


I've tried again with the replacements you mentioned and all is fine 
now. I've still got to go over it again to try to see what exactly was 
going wrong, but for the time being I'm happy!

Thanks
======

Andrew Gonnet
----------
From:  Doug Anderson [SMTP:doug@clark.net]
Sent:  04 June 1999 03:56
To:
Subject:  Re: [omniORB] Alpha/Digital UX link errors linking example 
1

Andrew,

Strange - I just built 2.7.1 with cxx6.1-029 on Digital Unix 4.0e 
this
afternoon.  I didn't have any problems at all.  The only thing I 
changed
was to replace the stuff after -lpthread (e.g. -lmach ...) with -lexc, 
which
the cxx compiler guide recommends if you don't use the -pthread 
link-time
option.  (this also works with egcs)  I have used this since omniORB 
2.5.0,
so I make this change whenever I build it.  (it may make no 
difference, but
I didn't want to take any chances)

2.7.1 seems to run our applications as before under 2.6.1, though it 
required
a bit of autoconf work adding support for the additional 
-lomniDynamic2 and
associated *Dyn.cc files generated.  The echo examples built fine as 
well.

Sorry I can't offer any experience on your problem, as I have had 
none.

Doug

P.S. I built the same configuration using egcs-1.1.2, and it also runs 
our apps.

----- Original Message -----
From: agonne - Andrew Gonnet <AGONNE@acxiom.co.uk>
To: 'Sai-Lai Lo' <S.Lo@uk.research.att.com>
Cc: <omniorb-list@orl.co.uk>
Sent: Wednesday, June 02, 1999 10:08 AM
Subject: RE: [omniORB] Alpha/Digital UX link errors linking example 1


> 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
>
>