[omniORB] Alpha/Digital UX link errors linking example 1
Doug Anderson
doug@clark.net
Thu, 3 Jun 1999 22:55:43 -0400
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
>
>