[Ace-users] Building TAO using AMH fails with link error.
Gilad Rom
gilad.rom at gmail.com
Tue Dec 11 11:14:08 CST 2007
ACE VERSION: 5.5.1
HOST MACHINE and OPERATING SYSTEM:
Vanilla Ubuntu Feisty 7.10
Intel Q6600, 4GB of Ram
COMPILER NAME AND VERSION (AND PATCHLEVEL):
4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
AREA/CLASS/EXAMPLE AFFECTED:
Trading_Service
DOES THE PROBLEM AFFECT:
COMPILATION? Yes
LINKING? Yes
SYNOPSIS:
When building TAO, I have modified the
TAO/orbsvcs/orbsvcs/Makefile file to execute
tao_idl using -GH to generate AMH enabled classes.
This makes the build fail when it reaches
Trading_Service with a link error.
DESCRIPTION:
===================================================
LONG PASTE ALERT
===================================================
Making all in Trading_Service
make[3]: Entering directory
`/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/Trading_Service'
/bin/sh ../../libtool --mode=link --tag=CXX g++ -g -O2 -pthread -o
Trading_Service Trading_Service-Trading_Server.o
Trading_Service-Trading_Service.o ../../orbsvcs/orbsvcs/
libTAO_CosTrading_Serv.la ../../tao/libTAO_IORTable.la ../../orbsvcs/
orbsvcs/libTAO_Svc_Utils.la ../../tao/libTAO_DynamicAny.la ../../
orbsvcs/orbsvcs/libTAO_CosTrading_Skel.la ../../orbsvcs/orbsvcs/
libTAO_CosTrading.la ../../orbsvcs/orbsvcs/libTAO_CosNaming.la ../../
tao/libTAO_Utils.la ../../tao/libTAO_PI.la ../../tao/
libTAO_CodecFactory.la ../../tao/libTAO_PortableServer.la ../../tao/
libTAO_AnyTypeCode.la ../../tao/libTAO.la ../../../ace/libACE.la
g++ -g -O2 -o .libs/Trading_Service Trading_Service-Trading_Server.o
Trading_Service-Trading_Service.o
-pthread ../../orbsvcs/orbsvcs/.libs/libTAO_CosTrading_Serv.so /home/
fabrix/ACE_wrappers/build/TAO/tao/.libs/libTAO_IORTable.so /home/
fabrix/ACE_wrappers/build/TAO/tao/.libs/libTAO_Utils.so /home/fabrix/
ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/libTAO_Svc_Utils.so /home/
fabrix/ACE_wrappers/build/TAO/tao/.libs/libTAO_DynamicAny.so /home/
fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so ../../tao/.libs/libTAO_IORTable.so ../../
orbsvcs/orbsvcs/.libs/libTAO_Svc_Utils.so ../../tao/.libs/
libTAO_DynamicAny.so ../../orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so /home/fabrix/ACE_wrappers/build/TAO/orbsvcs/
orbsvcs/.libs/libTAO_CosTrading.so ../../orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so ../../orbsvcs/orbsvcs/.libs/
libTAO_CosNaming.so ../../tao/.libs/libTAO_Utils.so /home/fabrix/
ACE_wrappers/build/TAO/tao/.libs/libTAO_PI.so /home/fabrix/
ACE_wrappers/build/TAO/tao/.libs/libTAO_PortableServer.so ../../
tao/.libs/libTAO_PI.so /home/fabrix/ACE_wrappers/build/TAO/tao/.libs/
libTAO_CodecFactory.so ../../tao/.libs/libTAO_CodecFactory.so ../../
tao/.libs/libTAO_PortableServer.so /home/fabrix/ACE_wrappers/build/TAO/
tao/.libs/libTAO_AnyTypeCode.so ../../tao/.libs/libTAO_AnyTypeCode.so /
home/fabrix/ACE_wrappers/build/TAO/tao/.libs/libTAO.so ../../tao/.libs/
libTAO.so /home/fabrix/ACE_wrappers/build/ace/.libs/libACE.so ../../../
ace/.libs/libACE.so -lrt -ldl
Trading_Service-Trading_Server.o: In function
`__static_initialization_and_destruction_0':
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/
Trading_Service/../../../../TAO/tao/Valuetype/Valuetype_Adapter_Impl.h:
73: undefined reference to `TAO_Valuetype_Adapter_Impl::Initializer()'
Trading_Service-Trading_Service.o: In function
`__static_initialization_and_destruction_0':
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/
Trading_Service/../../../../TAO/tao/Valuetype/Valuetype_Adapter_Impl.h:
73: undefined reference to `TAO_Valuetype_Adapter_Impl::Initializer()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to `virtual thunk to
CORBA::DefaultValueRefCountBase::_refcount_value()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::ValueBase::_tao_marshal(TAO_OutputCDR&, CORBA::ValueBase
const*, int)'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO::ARH_Refcount_Functor::operator()(TAO_AMH_Response_Handler*)'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::DefaultValueRefCountBase::DefaultValueRefCountBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to `virtual thunk to
TAO_AMH_Response_Handler::~TAO_AMH_Response_Handler()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::~TAO_AMH_Response_Handler()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::DefaultValueRefCountBase::_remove_ref()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to `virtual thunk to
CORBA::DefaultValueRefCountBase::~DefaultValueRefCountBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to `virtual thunk to
TAO_AMH_Response_Handler::~TAO_AMH_Response_Handler()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to `typeinfo for
CORBA::DefaultValueRefCountBase'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`TAO::Value_Traits<CORBA::ValueFactoryBase>::remove_ref(CORBA::ValueFactoryBase*)'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::DefaultValueRefCountBase::~DefaultValueRefCountBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::~TAO_AMH_Response_Handler()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to `virtual thunk to
CORBA::DefaultValueRefCountBase::~DefaultValueRefCountBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to `typeinfo for
TAO_AMH_Response_Handler'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::DefaultValueRefCountBase::~DefaultValueRefCountBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::ValueBase::ValueBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::_tao_rh_init_reply()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to `virtual thunk to
CORBA::DefaultValueRefCountBase::_remove_ref()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to `typeinfo for
CORBA::ValueBase'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::DefaultValueRefCountBase::~DefaultValueRefCountBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to `virtual thunk to
CORBA::DefaultValueRefCountBase::_add_ref()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::~TAO_AMH_Response_Handler()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::ValueBase::_tao_unmarshal_pre(TAO_InputCDR&,
CORBA::ValueFactoryBase*&, CORBA::ValueBase*&, char const*)'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::_tao_rh_send_reply()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::init(TAO_ServerRequest&, ACE_Allocator*)'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::_remove_ref()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::DefaultValueRefCountBase::_refcount_value()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::TAO_AMH_Response_Handler()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::DefaultValueRefCountBase::_add_ref()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to `virtual thunk to
TAO_AMH_Response_Handler::_remove_ref()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading.so: undefined reference to
`CORBA::ValueBase::~ValueBase()'
/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/orbsvcs/.libs/
libTAO_CosTrading_Skel.so: undefined reference to
`TAO_AMH_Response_Handler::_tao_rh_send_exception(CORBA::Exception&)'
collect2: ld returned 1 exit status
make[3]: *** [Trading_Service] Error 1
make[3]: Leaving directory
`/home/fabrix/ACE_wrappers/build/TAO/orbsvcs/Trading_Service'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/fabrix/ACE_wrappers/build/TAO/
orbsvcs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fabrix/ACE_wrappers/build/TAO'
make: *** [all-recursive] Error 1
REPEAT BY:
run configure as usual, then modify
TAO/orbsvcs/orbsvcs/Makefile, add -GH to the
TAO_IDLFLAGS variable, make clean and recompile.
SAMPLE FIX/WORKAROUND:
None I could find...
More information about the Ace-users
mailing list