[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