Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[tao-users] Problem building tao Name Service and Event Service in ARM9 with TAO-1.6.8 and ACE-5.6.8

84 views
Skip to first unread message

Ing. Derlis Gregor

unread,
Mar 10, 2009, 7:19:26 AM3/10/09
to tao-...@list.isis.vanderbilt.edu

   TAO VERSION: 1.6.8
   ACE VERSION: 5.6.8

   HOST MACHINE and OPERATING SYSTEM:
       Athlon(TM) 1200 Mhz, RAM DIMM 256Mb, HDD 20 Gb 
       Linux Debian 2.6.18-6-686
   TARGET MACHINE and OPERATING SYSTEM:
        ARM926EJ-S with kernel linux embebed 2.4.20-celf3

   THE $ACE_ROOT/ace/config.h FILE:
       config-linux.h

   THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
       platform_ARM.GNU  (see in http://forum.huihoo.com/archive/viewtopic.php?start=15&t=10388

   CONTENTS OF ACE_ROOT/bin/MakeProjectCreator/config/default.features:
       (unmodified)

   AREA/CLASS/EXAMPLE AFFECTED:
      
       Try to compiling Naming Service and Event Service with the script.. 
       Problem with the libACE.a  and   libTAO.a   (undefined reference)

collect2: ld returned 1 exit status
make[1]: *** [server] Error 1
make: *** [Hello_Server] Error 2
      

   DOES THE PROBLEM AFFECT:
       EXECUTION? I compiling the ACE, TAO, well for the ARM platform but the problem is try to run a Name Service make file, and Event Service make file..  YES.. affect the execution.. 

   SYNOPSIS:
I Compiling the TAO and the ACE for the cross compiling with the two script in separate.. It dont have problem.. Only with the Naming Service and the Event Service.. and obviously with the DEMO's... 


#!/bin/sh
echo ----------------------------------------------
echo - Script de Compilacion ACE-TAO para ARM    -
echo -       Desarrollado por: Derlis Gregor      -
echo -             09 de marzo de 2009    -
echo ----------------------------------------------
echo 
echo -  Generate Environment Variables  -
echo 
#####################################################
export ACE_ROOT=/ACE-arm
export TAO_ROOT=$ACE_ROOT/TAO
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace
export PATH=$PATH:$ACE_ROOT/TAO/TAO_IDL
#####################################################
export DIRECTORIO=/usr/bin
export CC=$DIRECTORIO/gcc-4.1
export CPP=$DIRECTORIO/cpp-4.1
export CXX=$DIRECTORIO/g++-4.1
export LD=$DIRECTORIO/ld
export NM=$DIRECTORIO/nm
export AR=$DIRECTORIO/ar
export AS=$DIRECTORIO/as
#####################################################
echo
echo - Exported Environment Variables  -
echo
echo --------------------
echo -   Installation    -
echo --------------------
echo
echo === 1 Create link to the configure file ===
rm -f $ACE_ROOT/ace/config.h
ln -s $ACE_ROOT/ace/config-linux.h $ACE_ROOT/ace/config.h
echo
echo  OK..
echo
echo === 2 Create link to the platform LINUX ===
rm -f $ACE_ROOT/include/makeinclude/platform_macros.GNU
ln -s $ACE_ROOT/include/makeinclude/platform_linux.GNU $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo
echo  OK..
echo
echo === 3 Exist the GCC Compilator LINUX??? ===
if [ ! -f $DIRECTORIO/gcc-4.1 ] ; then
    echo $0: No posible to found the GCC compilator in $DIRECTORIO...
exit
fi
echo
echo  OK..
echo
echo === 4 Ejecute the make's ===
echo
echo -- EXECUTING ACE --
cd /$ACE_ROOT/ace
make debug=0 static_libs_only=1 exceptions=1
echo
echo -- END OFF THE COMPILATION ACE --
echo
echo -- EXECUTING gperf --
cd /$ACE_ROOT/apps/gperf/src
make debug=0 static_libs_only=1 exceptions=1
echo 
echo -- END OFF THE COMPILATION gperf --
echo
echo -- EXECUTING TAO_IDL --
cd /$TAO_ROOT/TAO_IDL
make debug=0 static_libs_only=1 exceptions=1
echo
echo -- END OFF THE COMPILATION TAO_IDL
echo
echo -- ONLY NEED gperf y tao_idl
rm -f /$ACE_ROOT/ace/libACE.a
cd /$ACE_ROOT/ace
make debug=0 static_libs_only=1 exceptions=1 clean
echo
echo -- CLEAN OK!! --
echo 
echo -- END OFF THE SCRIPT ARMcompile-1.sh

AND THE OTHER SCRIPT........

#!/bin/sh
echo ----------------------------------------------
echo - Script de Compilacion ACE-TAO para ARM    -
echo -       Desarrollado por: Derlis Gregor      -
echo -             09 de marzo de 2009    -
echo ----------------------------------------------
echo 
echo -  Generated Environment Variables   -
export ACE_ROOT=/ACE-arm
export TAO_ROOT=$ACE_ROOT/TAO
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace
#####################################################
export ARM_ROOT=/arm-linux/gcc-3.3.2-glibc-2.3.2
export CC=$ARM_ROOT/bin/arm-linux-gcc
export CPP=$ARM_ROOT/bin/arm-linux-cpp
export CXX=$ARM_ROOT/bin/arm-linux-g++
export LD=$ARM_ROOT/bin/arm-linux-ld
export NM=$ARM_ROOT/bin/arm-linux-nm
export AR=$ARM_ROOT/bin/arm-linux-ar
export AS=$ARM_ROOT/bin/arm-linux-as
export PATH=$PATH:$ARM_ROOT/arm-linux/include
export PATH=$PATH:$AMR_ROOT/arm-linux/lib
export PATH=$PATH:$ARM_ROOT/bin
#####################################################
echo
echo - Exported Environment Variables  -
echo
echo --------------------
echo -   Installation    -
echo --------------------
echo
echo
echo === 1  Make symbolic configuration link ===
rm -f $ACE_ROOT/ace/config.h
ln -s $ACE_ROOT/ace/config-linux.h $ACE_ROOT/ace/config.h
echo
echo  OK..
echo
echo === 2  Make symbolic link to the platform ARM ===
rm -f $ACE_ROOT/include/makeinclude/platform_macros.GNU
ln -s $ACE_ROOT/include/makeinclude/platform_ARM.GNU $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo
echo  OK..
echo
echo === Exist the GCC Compilator GCC ARM?? ===
if [ ! -f $ARM_ROOT/bin/arm-linux-gcc ] ; then
echo $0: No es posible encontrar el compilador ARM GCC en $ARM_ROOT, imposible continuar
exit
fi
echo
echo  OK..
echo
echo -- EJECUTING ACE FOR ARM--
cd /$ACE_ROOT/ace
    make debug=0 static_libs_only=1 exceptions=1 > build-results-ACE-ace-ARM
echo
echo -- END OFF COMPILATION ACE FOR ARM--
echo
echo -- EJECUTING tao --
cd /$TAO_ROOT/tao
    make debug=0 static_libs_only=1 exceptions=1 > build-result-tao-ARM
echo
echo -- END OFF COMPILATION tao
echo
echo -- EJECUTING orbsvcs --
cd /$TAO_ROOT/orbsvcs/orbsvcs
    make debug=0 static_libs_only=1 exceptions=1 > build-results-TAO-orbsvcs-ARM
echo
echo -- END OFF COMPILATION orbsvcs --
echo
echo -- EJECUTING Naming_Service --
cd /$TAO_ROOT/orbsvcs/Naming_Service
    make debug=0 static_libs_only=1 exceptions=1 > build-results-TAO-NS-ARM
echo
echo -- END OFF COMPILATION Naming_Service
echo
echo -- EJECUTING Event_Service --
cd /$TAO_ROOT/orbsvcs/Event_Service
    make debug=0 static_libs_only=1 exceptions=1 > build-results-TAO-ES-ARM
echo
echo -- END OFF COMPILATION Event_Service
echo
echo  /////// END OFF THE SCRIPT ARMcompile-2.sh ///////
echo





Program terminates with ASSERT failure in
../../../lib/LibACE.a    and     ../../../lib/LibTAO.a

   DESCRIPTION:

I have a problem compiling the Naming and Event Service with the target CPU ARM926EJ-S with kernel linux 2.4.20-celf3.. I use arm-linux gcc-3.3.2 and glib-2.3.2 to do a cross compiling.. My host machine is the Debian 2.6.18-6-686.. 


The result is:

-- EXECUTING Naming_Service --  (---and the same with Event Service---)

/ACE-arm/lib/libACE.a(MMAP_Memory_Pool.o)(.text+0x37c): In function `ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool[not-in-charge](char const*, ACE_MMAP_Memory_Pool_Options const*)':
: warning: the use of `mktemp' is dangerous, better use `mkstemp'
/ACE-arm/lib/libTAO_ImR_Client.a(ImR_Client.o)(.text+0x29c): In function `TAO::ImR_Client::ImR_Client_Adapter_Impl::imr_notify_startup(TAO_Root_POA*)':
: undefined reference to `TAO_Objref_Var_T<ImplementationRepository::Administration>::operator=(ImplementationRepository::Administration*)'
/ACE-arm/lib/libTAO_ImR_Client.a(ImR_Client.o)(.text+0x76c): In function `TAO::ImR_Client::ImR_Client_Adapter_Impl::imr_notify_startup(TAO_Root_POA*)':
: undefined reference to `PortableServer::Servant_var<TAO_ServantBase>::~Servant_var [in-charge]()'
/ACE-arm/lib/libTAO_ImR_Client.a(ImR_Client.o)(.text+0xa38): In function `TAO::ImR_Client::ImR_Client_Adapter_Impl::imr_notify_startup(TAO_Root_POA*)':
: undefined reference to `PortableServer::Servant_var<TAO_ServantBase>::~Servant_var [in-charge]()'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectC.o)(.text+0x4f4): In function `ImplementationRepository::ServerObject::ServerObject[in-charge]()':
: undefined reference to `ACE_Atomic_Op<ACE_Null_Mutex, unsigned long>::ACE_Atomic_Op[in-charge](unsigned long)'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectC.o)(.text+0x514): In function `ImplementationRepository::ServerObject::ServerObject[in-charge]()':
: undefined reference to `ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op[in-charge](unsigned long)'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectC.o)(.text+0x6a4): In function `ImplementationRepository::ServerObject::_narrow(CORBA::Object*)':
: undefined reference to `TAO::Narrow_Utils<ImplementationRepository::ServerObject>::narrow(CORBA::Object*, char const*, TAO::Collocation_Proxy_Broker* (*)(CORBA::Object*))'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectC.o)(.text+0x6bc): In function `ImplementationRepository::ServerObject::_unchecked_narrow(CORBA::Object*)':
: undefined reference to `TAO::Narrow_Utils<ImplementationRepository::ServerObject>::unchecked_narrow(CORBA::Object*, char const*, TAO::Collocation_Proxy_Broker* (*)(CORBA::Object*))'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectC.o)(.text+0x8c4): In function `operator>>(TAO_InputCDR&, ImplementationRepository::ServerObject*&)':
: undefined reference to `TAO::Narrow_Utils<ImplementationRepository::ServerObject>::unchecked_narrow(CORBA::Object*, TAO::Collocation_Proxy_Broker* (*)(CORBA::Object*))'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.text+0xc44): In function `POA_ImplementationRepository::ServerObject::_is_a_skel(TAO_ServerRequest&, void*, void*)':
: undefined reference to `vtable for TAO::Ret_Special_Basic_SArgument_T<bool, ACE_InputCDR::to_boolean, ACE_OutputCDR::from_boolean, TAO::Any_Insert_Policy_Stream<ACE_OutputCDR::from_boolean> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.text+0xc48): In function `POA_ImplementationRepository::ServerObject::_is_a_skel(TAO_ServerRequest&, void*, void*)':
: undefined reference to `vtable for TAO::In_UB_String_SArgument_T<char, TAO::String_var<char> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.text+0xdb0): In function `POA_ImplementationRepository::ServerObject::_non_existent_skel(TAO_ServerRequest&, void*, void*)':
: undefined reference to `vtable for TAO::Ret_Special_Basic_SArgument_T<bool, ACE_InputCDR::to_boolean, ACE_OutputCDR::from_boolean, TAO::Any_Insert_Policy_Stream<ACE_OutputCDR::from_boolean> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.text+0xf84): In function `POA_ImplementationRepository::ServerObject::_repository_id_skel(TAO_ServerRequest&, void*, void*)':
: undefined reference to `vtable for TAO::Ret_UB_String_SArgument_T<char, TAO::String_var<char> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.text+0xfa0): In function `POA_ImplementationRepository::ServerObject::_interface_skel(TAO_ServerRequest&, void*, void*)':
: undefined reference to `ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance(char const*)'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.text+0x1260): In function `POA_ImplementationRepository::ServerObject::_component_skel(TAO_ServerRequest&, void*, void*)':
: undefined reference to `vtable for TAO::Ret_Object_SArgument_T<CORBA::Object*, TAO_Pseudo_Var_T<CORBA::Object>, TAO::Any_Insert_Policy_Stream<CORBA::Object*> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.text+0x13fc): In function `POA_ImplementationRepository::ServerObject::_this()':
: undefined reference to `TAO::Narrow_Utils<ImplementationRepository::ServerObject>::unchecked_narrow(CORBA::Object*, TAO::Collocation_Proxy_Broker* (*)(CORBA::Object*))'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.gnu.linkonce.t._ZN28POA_ImplementationRepository33_is_a_ServerObject_Upcall_Command7executeEv+0x10): In function `POA_ImplementationRepository::_is_a_ServerObject_Upcall_Command::execute()':
: undefined reference to `TAO::SArg_Traits<ACE_InputCDR::to_boolean>::ret_arg_type TAO::Portable_Server::get_ret_arg<ACE_InputCDR::to_boolean>(TAO_Operation_Details const*, TAO::Argument* const*)'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.gnu.linkonce.t._ZN28POA_ImplementationRepository33_is_a_ServerObject_Upcall_Command7executeEv+0x24): In function `POA_ImplementationRepository::_is_a_ServerObject_Upcall_Command::execute()':
: undefined reference to `TAO::SArg_Traits<char*>::in_arg_type TAO::Portable_Server::get_in_arg<char*>(TAO_Operation_Details const*, TAO::Argument* const*, unsigned)'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.gnu.linkonce.t._ZN28POA_ImplementationRepository41_non_existent_ServerObject_Upcall_Command7executeEv+0x10): In function `POA_ImplementationRepository::_non_existent_ServerObject_Upcall_Command::execute()':
: undefined reference to `TAO::SArg_Traits<ACE_InputCDR::to_boolean>::ret_arg_type TAO::Portable_Server::get_ret_arg<ACE_InputCDR::to_boolean>(TAO_Operation_Details const*, TAO::Argument* const*)'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.gnu.linkonce.t._ZN28POA_ImplementationRepository42_repository_id_ServerObject_Upcall_Command7executeEv+0x10): In function `POA_ImplementationRepository::_repository_id_ServerObject_Upcall_Command::execute()':
: undefined reference to `TAO::SArg_Traits<char*>::ret_arg_type TAO::Portable_Server::get_ret_arg<char*>(TAO_Operation_Details const*, TAO::Argument* const*)'
/ACE-arm/lib/libTAO_ImR_Client.a(ServerObjectS.o)(.gnu.linkonce.t._ZN28POA_ImplementationRepository42_get_component_ServerObject_Upcall_Command7executeEv+0x10): In function `POA_ImplementationRepository::_get_component_ServerObject_Upcall_Command::execute()':
: undefined reference to `TAO::SArg_Traits<CORBA::Object>::ret_arg_type TAO::Portable_Server::get_ret_arg<CORBA::Object>(TAO_Operation_Details const*, TAO::Argument* const*)'
/ACE-arm/lib/libTAO_ImR_Client.a(ImplRepoC.o)(.text+0x4040): In function `ImplementationRepository::ServerInformationIterator::next_n(unsigned, TAO_Seq_Out_T<ImplementationRepository::ServerInformationList>)':
: undefined reference to `vtable for TAO::Ret_Special_Basic_Argument_T<bool, ACE_InputCDR::to_boolean, ACE_OutputCDR::from_boolean, TAO::Any_Insert_Policy_AnyTypeCode_Adapter<ACE_OutputCDR::from_boolean> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ImplRepoC.o)(.text+0x4044): In function `ImplementationRepository::ServerInformationIterator::next_n(unsigned, TAO_Seq_Out_T<ImplementationRepository::ServerInformationList>)':
: undefined reference to `vtable for TAO::In_Basic_Argument_T<unsigned, TAO::Any_Insert_Policy_AnyTypeCode_Adapter<unsigned> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ImplRepoC.o)(.text+0x4048): In function `ImplementationRepository::ServerInformationIterator::next_n(unsigned, TAO_Seq_Out_T<ImplementationRepository::ServerInformationList>)':
: undefined reference to `vtable for TAO::Out_Var_Size_Argument_T<ImplementationRepository::ServerInformationList, TAO::Any_Insert_Policy_Stream<ImplementationRepository::ServerInformationList> >'
/ACE-arm/lib/libTAO_ImR_Client.a(ImplRepoC.o)(.text+0x4338): In function `ImplementationRepository::ServerInformationIterator::ServerInformationIterator[in-charge]()':
: undefined reference to `ACE_Atomic_Op<ACE_Null_Mutex, unsigned 

Any help/leads would be appreciated.

Thanks for your help Johnny Willemsen...


Cheers..


Christian Fromme

unread,
Mar 11, 2009, 5:33:59 AM3/11/09
to Ing. Derlis Gregor, tao-...@list.isis.vanderbilt.edu
On 10.03. 12:19, Ing. Derlis Gregor wrote:
> AREA/CLASS/EXAMPLE AFFECTED:
>
> Try to compiling Naming Service and Event Service with the script..
> Problem with the libACE.a and libTAO.a (undefined reference)
>
> collect2: ld returned 1 exit status
> make[1]: *** [server] Error 1
> make: *** [Hello_Server] Error 2

Just a shot in the dark, but have you checked that you link all
necessary libs? (nm/grep for the symbols)

HTH,
Christian

Ing. Derlis Gregor

unread,
Apr 21, 2009, 12:52:38 PM4/21/09
to tao-...@list.isis.vanderbilt.edu
 TAO VERSION: 1.6.8
   ACE VERSION: 5.6.8

   HOST MACHINE and OPERATING SYSTEM:
       Athlon(TM) 1200 Mhz, RAM DIMM 256Mb, HDD 20 Gb 
       Linux Debian 2.6.18-6-686
   TARGET MACHINE and OPERATING SYSTEM:
        ARM926EJ-S with kernel linux embebed 2.4.20-celf3

   THE $ACE_ROOT/ace/config.h FILE:
       config-linux.h

   THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
       platform_linux.GNU

   CONTENTS OF ACE_ROOT/bin/MakeProjectCreator/config/default.features:
       (unmodified)

   AREA/CLASS/EXAMPLE AFFECTED:
      
       Tring to compiling Naming Service in The ARM9
       Problem with the Quoter example client.



   DOES THE PROBLEM AFFECT:
       EXECUTION? No affect the execution.. Affect the comunication from client side.. 

   SYNOPSIS:
I run the Naming Service in the ARM9 platform.. ok he is runing.. 

 ./Naming_Service -ORBEndPoint iiop://epiarm12:12345 -ORBDaemon

# nslist -ORBInitRef NameService=corbaloc:iiop:epiarm12:12345/NameService
Naming Service:
---------------
# cd /tao/servicios/Quoter/

# ./server -ORBInitRef NameService=corbaloc:iiop:epiarm12:12345/NameService

Quoter Example: Quoter_Server is running

Next i do:

# netstat -na
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:1026            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 172.16.74.12:12345      0.0.0.0:*               LISTEN
tcp        0      0 172.16.74.12:22         172.16.74.8:4804        ESTABLISHED
tcp        0      0 172.16.74.12:22         172.16.74.8:3812        ESTABLISHED
tcp        0    640 172.16.74.12:22         172.16.74.8:3813        ESTABLISHED
tcp        0      0 172.16.74.12:12345      172.16.74.12:1027       ESTABLISHED
tcp        0      0 172.16.74.12:1027       172.16.74.12:12345      ESTABLISHED
udp        0      0 0.0.0.0:3000            0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  3      [ ]         STREAM     CONNECTED     39003
unix  3      [ ]         STREAM     CONNECTED     39002
unix  3      [ ]         STREAM     CONNECTED     39001
unix  3      [ ]         STREAM     CONNECTED     39000
unix  3      [ ]         STREAM     CONNECTED     29352
unix  3      [ ]         STREAM     CONNECTED     29351
unix  3      [ ]         STREAM     CONNECTED     29350
unix  3      [ ]         STREAM     CONNECTED     29349

Ok i see the Naming_Service and the Quoter server is runing in the 172.16.74.12:12345..


Program terminates with ASSERT failure in

The communication of the client respect to server.. he dont find the server.. or i do something bad i dont know... 

The result is:

-- EXECUTING client fron the debian mashine 

DebianNB:/ACE_wrappers/build/HOST/TAO/examples/Quoter# ./client -ORBInitRef NameService=corbaloc:iiop:epiarm12:12345/NameService

Quoter_Client::init_naming_service - While resolving the factory finder
(8527|3084217264) EXCEPTION, Quoter::init_naming_service


Any help/leads would be appreciated.

Thanks for the help


Cheers..

Johnny Willemsen

unread,
Apr 21, 2009, 3:05:19 PM4/21/09
to Ing. Derlis Gregor, tao-...@list.isis.vanderbilt.edu

Hi,

 

Try to run the client with –ORBDebugLevel 10 and see what the orb prints.

 

Johnny

0 new messages