OCL with Xenomai: libnative.a: could not read symbols

Hi,

I am trying to compile orocos 1.10 with Xenomai for PowerPC. Here is the error I received:

Linking CXX shared library liborocos-rtt-xenomai.so

/usr/bin/ld: /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a(libnative_la-mutex.o): Relocations in generic ELF (EM: 20) /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1 make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2 make: *** [all] Error 2

I have tried ""libnative.so"" as well, the error is: Linking CXX shared library liborocos-rtt-xenomai.so /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1 make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2 make: *** [all] Error 2

Could anyone help me please? Thanks!

Best regards, Lin

OCL with Xenomai: libnative.a: could not read symbols

On Monday 20 December 2010 10:06:39 lin [dot] zhang [..] ... wrote:
> Hi,
>
> I am trying to compile orocos 1.10 with Xenomai for PowerPC. Here is the
> error I received:
>
> Linking CXX shared library liborocos-rtt-xenomai.so
>
> /usr/bin/ld:
> /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/li
> b/libnative.a(libnative_la-mutex.o): Relocations in generic ELF (EM: 20)
> /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/li
> b/libnative.a: could not read symbols: File in wrong format collect2: ld
> returned 1 exit status
> make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1
> make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2
> make: *** [all] Error 2
>
> I have tried ""libnative.so"" as well, the error is:
> Linking CXX shared library liborocos-rtt-xenomai.so
> /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib
> /libnative.so: could not read symbols: File in wrong format collect2: ld
> returned 1 exit status
> make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1
> make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2
> make: *** [all] Error 2
>
> Could anyone help me please? Thanks!

Probably you did not properly cross-compile xenomai, OR your are not using a
cross-compiler when building Orocos. what's the output of 'file
/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a'

?

Peter

Peter,Thanks for your reply.

Peter,

Thanks for your reply. The Orocos is cross-compiled with the following lines:

XENOMAI_INCLUDE_DIR= {XENOMAI_DIR}/include/
XENOMAI_LIBRARY= {XENOMAI_DIR}/lib/librtdm.a
XENOMAI_NATIVE_LIBRARY= {XENOMAI_DIR}/lib/libnative.so

CC= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc
CXX= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-g++
LD= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ld
AR= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar
RANLIB= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ranlib
CC= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc
CXX= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-g++
LD= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ld
AR= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar
RANLIB= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ranlib
CPPFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"
CXXFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"
CFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"

CC= {CC} CXX= {CXX} CFLAGS= {CFLAGS} CXXFLAGS= {CXXFLAGS} CPPFLAGS= {CPPFLAGS} LD= {LD} AR= {AR} RANLIB= {RANLIB} ccmake ..
-DOROCOS_TARGET=xenomai
-DCMAKE_CROSS_COMPILE=1
-DCROSS_COMPILE=powerpc-405-linux-gnu-
-DXENOMAI_INSTALL_DIR= {XENOMAI_DIR}
-DLINUX_SOURCE_DIR= {LINUX_DIR}
-DCMAKE_INSTALL_PREFIX= {DEST_DIR}/usr
-DOS_EMBEDDED=ON -DOS_EMBEDDED_SCRIPTING=ON
-DOS_NOEXCEPTIONS=OFF
-DCONFIG_FORCE_UP=ON
-DXENOMAI_INCLUDE_DIR= {XENOMAI_INCLUDE_DIR}
-DXENOMAI_LIBRARY= {XENOMAI_LIBRARY}
-DXENOMAI_NATIVE_LIBRARY= {XENOMAI_NATIVE_LIBRARY}
-DCMAKE_PREFIX_PATH=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/
-DXENOMAI_XENO_CONFIG=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/include
-DXENOMAI_POSIX_LIBRARY=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libpthread_rt.so
-DCMAKE_MODULE_LINKER_FLAGS= {CMAKE_MODULE_LINKER_FLAGS}

Xenomai was compiled with:

LINUX_DIR= {SRC_DIR}/linuxppc_2_4_devel
XENOMAI_DIR= {SRC_DIR}/xenomai_ {XENOMAI_VERSION}

export PATH= PATH: {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/

test -d {TOP_DIR}/install/xenomai_userspace || mkdir {TOP_DIR}/install/xenomai_userspace
cd {TOP_DIR}/install/xenomai_userspace

{XENOMAI_DIR}/configure --build=i686-linux --host=powerpc-405-linux-gnu

make install DESTDIR= {TOP_DIR}/rootfs

I think they are cross-compiled. :)

Greetings,
Lin

Peter,Thanks for your reply.

Peter,

Thanks for your reply. The Orocos is cross-compiled with the following lines:

 XENOMAI_INCLUDE_DIR= {XENOMAI_DIR}/include/
 XENOMAI_LIBRARY= {XENOMAI_DIR}/lib/librtdm.a
 XENOMAI_NATIVE_LIBRARY= {XENOMAI_DIR}/lib/libnative.so

 CC= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc
 CXX= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-g++
 LD= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ld
 AR= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar
 RANLIB= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ranlib
 CC= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc
 CXX= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-g++
 LD= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ld
 AR= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar
 RANLIB= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ranlib
 CPPFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"
 CXXFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"
 CFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"

 CC= {CC} CXX= {CXX} CFLAGS= {CFLAGS} CXXFLAGS= {CXXFLAGS} CPPFLAGS= {CPPFLAGS} LD= {LD} AR= {AR} RANLIB= {RANLIB} ccmake .. 
 -DOROCOS_TARGET=xenomai 
 -DCMAKE_CROSS_COMPILE=1 
 -DCROSS_COMPILE=powerpc-405-linux-gnu- 
 -DXENOMAI_INSTALL_DIR= {XENOMAI_DIR} 
 -DLINUX_SOURCE_DIR= {LINUX_DIR} 
 -DCMAKE_INSTALL_PREFIX= {DEST_DIR}/usr
 -DOS_EMBEDDED=ON -DOS_EMBEDDED_SCRIPTING=ON
 -DOS_NOEXCEPTIONS=OFF 
 -DCONFIG_FORCE_UP=ON
 -DXENOMAI_INCLUDE_DIR= {XENOMAI_INCLUDE_DIR} 
 -DXENOMAI_LIBRARY= {XENOMAI_LIBRARY}
 -DXENOMAI_NATIVE_LIBRARY= {XENOMAI_NATIVE_LIBRARY} 
 -DCMAKE_PREFIX_PATH=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/ 
 -DXENOMAI_XENO_CONFIG=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/include 
 -DXENOMAI_POSIX_LIBRARY=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libpthread_rt.so 
 -DCMAKE_MODULE_LINKER_FLAGS= {CMAKE_MODULE_LINKER_FLAGS}
Xenomai was compiled with:

 LINUX_DIR= {SRC_DIR}/linuxppc_2_4_devel
 XENOMAI_DIR= {SRC_DIR}/xenomai_ {XENOMAI_VERSION}

 export PATH= PATH: {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc- {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/

 test -d  {TOP_DIR}/install/xenomai_userspace || mkdir  {TOP_DIR}/install/xenomai_userspace
 cd  {TOP_DIR}/install/xenomai_userspace

 {XENOMAI_DIR}/configure --build=i686-linux --host=powerpc-405-linux-gnu

 make install DESTDIR= {TOP_DIR}/rootfs
I think they are cross-compiled. :)

There are 3 files: libnative.a, libnative.so and libnative.la.

Greetings, Lin

Peter,Thanks for your reply.

On Tuesday 21 December 2010 11:23:33 lin [dot] zhang [..] ... wrote:
> Peter,
>
> Thanks for your reply. The Orocos is cross-compiled with the following
> lines:
>
> XENOMAI_INCLUDE_DIR= {XENOMAI_DIR}/include/
> XENOMAI_LIBRARY= {XENOMAI_DIR}/lib/librtdm.a
> XENOMAI_NATIVE_LIBRARY= {XENOMAI_DIR}/lib/libnative.so
>
> CC= {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc CXX=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-g++ LD=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ld AR=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar RANLIB=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ranlib CC=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc CXX=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-g++ LD=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ld AR=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ar RANLIB=
> {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-ranlib
> CPPFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"
> CXXFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"
> CFLAGS="-I {DEST_DIR}/usr/include/ -lxenomai --enable-lib64"
>
> CC= {CC} CXX= {CXX} CFLAGS= {CFLAGS} CXXFLAGS= {CXXFLAGS} CPPFLAGS=
> {CPPFLAGS} LD= {LD} AR= {AR} RANLIB= {RANLIB} ccmake ..
> -DOROCOS_TARGET=xenomai
> -DCMAKE_CROSS_COMPILE=1
> -DCROSS_COMPILE=powerpc-405-linux-gnu-
> -DXENOMAI_INSTALL_DIR= {XENOMAI_DIR}
> -DLINUX_SOURCE_DIR= {LINUX_DIR}
> -DCMAKE_INSTALL_PREFIX= {DEST_DIR}/usr
> -DOS_EMBEDDED=ON -DOS_EMBEDDED_SCRIPTING=ON
> -DOS_NOEXCEPTIONS=OFF
> -DCONFIG_FORCE_UP=ON
> -DXENOMAI_INCLUDE_DIR= {XENOMAI_INCLUDE_DIR}
> -DXENOMAI_LIBRARY= {XENOMAI_LIBRARY}
> -DXENOMAI_NATIVE_LIBRARY= {XENOMAI_NATIVE_LIBRARY}
> -DCMAKE_PREFIX_PATH=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/r
> ootfs/usr/xenomai/
> -DXENOMAI_XENO_CONFIG=/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex
> /rootfs/usr/xenomai/include
> -DXENOMAI_POSIX_LIBRARY=/home/zhanglin/Performer_MK2_HW_SW_Controller/virt
> ex/rootfs/usr/xenomai/lib/libpthread_rt.so -DCMAKE_MODULE_LINKER_FLAGS=
> {CMAKE_MODULE_LINKER_FLAGS}
>
> Xenomai was compiled with:
>
> LINUX_DIR= {SRC_DIR}/linuxppc_2_4_devel
> XENOMAI_DIR= {SRC_DIR}/xenomai_ {XENOMAI_VERSION}
>
> export PATH= PATH: {TOP_DIR}/install/crosstool/gcc- {GCC_VERSION}-glibc-
> {GLIBC_VERSION}/powerpc-405-linux-gnu/bin/
>
> test -d {TOP_DIR}/install/xenomai_userspace || mkdir
> {TOP_DIR}/install/xenomai_userspace cd
> {TOP_DIR}/install/xenomai_userspace
>
> {XENOMAI_DIR}/configure --build=i686-linux --host=powerpc-405-linux-gnu
>
> make install DESTDIR= {TOP_DIR}/rootfs
>
>
> I think they are cross-compiled. :)

You still didn't provide me the output of file. I'm expecting something like
this:
$ file /usr/lib/libnative.so.1.0.0
/usr/lib/libnative.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1
(SYSV), dynamically linked, stripped

Peter

Do you mean this?$ file

Do you mean this?

$ file libnative.so.0.0.0
libnative.so.0.0.0: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked, not stripped

Thanks!

Lin

Do you mean this?$ file

Do you mean this?

$ file libnative.so.0.0.0 libnative.so.0.0.0: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked, not stripped

Thanks!

Lin

Do you mean this?$ file

On Wednesday 22 December 2010 16:20:05 lin [dot] zhang [..] ... wrote:
> Do you mean this?
>
> $ file libnative.so.0.0.0
> libnative.so.0.0.0: ELF 32-bit MSB shared object, PowerPC or cisco 4500,
> version 1 (SYSV), dynamically linked, not stripped
>

Yes. That looks right. can you compile with:

make VERBOSE=1

Then we can see what linker is used and which options.

Peter

Thanks Peter.Here are the

Thanks Peter.

Here are the last lines before the error:

[ 45%] Building CXX object src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/SensorInterface.cpp.o
cd /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src && /usr/bin/c++ -DRTT_DLL_EXPORT -DOROCOS_TARGET=xenomai -fPIC -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/include -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os/xenomai -ffunction-sections -fdata-sections -o CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/SensorInterface.cpp.o -c /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/dev/SensorInterface.cpp
/usr/local/bin/cmake -E cmake_progress_report /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/CMakeFiles
[ 45%] Building CXX object src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/PulseTrainGeneratorInterface.cpp.o
cd /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src && /usr/bin/c++ -DRTT_DLL_EXPORT -DOROCOS_TARGET=xenomai -fPIC -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/include -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os/xenomai -ffunction-sections -fdata-sections -o CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/PulseTrainGeneratorInterface.cpp.o -c /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/dev/PulseTrainGeneratorInterface.cpp

Linking CXX shared library liborocos-rtt-xenomai.so
cd /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/orocos-rtt-dynamic_xenomai.dir/link.txt --verbose=1

/usr/bin/c++ -fPIC -shared -Wl,-soname,liborocos-rtt-xenomai.so.1.10 -o liborocos-rtt-xenomai.so.1.10.4
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MethodC.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Timer.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConnectionInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/VertexNode.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TimeService.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandDispatch.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionBool.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/FunctionGraph.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CoreRunnableInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CompletionProcessor.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SequentialActivity.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionComposite.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Logger.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SlaveActivity.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyBagIntrospector.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Activity.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MarshallingAccess.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SimulationActivity.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MethodRepository.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Property.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Types.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventC.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandExecFunction.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataObjectInterfaces.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/FunctionGraphBuilder.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandRepository.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandString.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/StateDescription.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ActionInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Toolkit.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ProgramProcessor.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandNOP.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandCounter.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionDSDuration.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ProgramInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EdgeCondition.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyBag.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionDuration.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Operators.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SimulationThread.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSourceCondition.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ScriptingAccess.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MultiVector.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/StateMachineProcessor.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventProcessor.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/RealTimeToolkit.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/FactoryExceptions.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandC.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Attribute.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/NonPeriodicActivity.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSourceCommand.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ListLockFree.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TaskObject.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataFlowInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TaskContext.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TaskCore.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Handle.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/BufferLockFree.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ExecutionEngine.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConnectionC.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSource.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionBoolProperty.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandProcessor.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/VectorComposition.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TypeStream-io.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionBoolDataSource.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TypeStream.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/StateMachine.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PortInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/AsynchCommandDecorator.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TryCommand.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/signal_base.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PeriodicActivity.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyIntrospection.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ActivityInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/AttributeRepository.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionOnce.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSources.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyLoader.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventDrivenActivity.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TimerThread.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandIllegal.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertySequence.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ExecutionAccess.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyBase.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventService.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/OperationInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/PropertyMarshaller.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/PropertyDemarshaller.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/CPFDTD.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/CPFMarshaller.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/CPFDemarshaller.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/rint.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/RunnableInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/exceptions.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/SingleThread.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/Mutex.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/MainThread.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/StartStopManager.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/ThreadInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/PeriodicThread.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/threads.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/rtstreams.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/Thread.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/startstop.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/rtconversions.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/xenomai/xenothreads.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/xenomai/fosi_internal.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/xenomai/fosi.c.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ConditionParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StateGraphParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/DumpObject.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/FunctionFactory.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ParserExecutionAccess.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/CommonParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramTask.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/Parser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramGraphParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ArgumentsParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/parse_exception.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StateMachineBuilder.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ExpressionParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/PropertyParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramLoader.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StatementProcessor.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StateMachineTask.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/PeerParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ParsedStateMachine.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/CommandParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ValueChangeParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ParserScriptingAccess.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramGraphParser2.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ValueParser.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/EncoderInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/AxisInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/io.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/HomingInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/SensorInterface.cpp.o
CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/PulseTrainGeneratorInterface.cpp.o

(*) -lxerces-c -lxerces-depdom /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/librtdm.a /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.so -lpthread -Wl,-rpath,/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib:

/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1
make[2]: Leaving directory `/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4'
make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2
make[1]: Leaving directory `/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4'
make: *** [all] Error 2

The above is the error with libnative.so. I also tried libnative.a, then in the error, the line begins with "(*)" is slightly different:
-lxerces-c -lxerces-depdom /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/librtdm.a /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a -lpthread
/usr/bin/ld: /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a(libnative_la-mutex.o): Relocations in generic ELF (EM: 20)
/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a: could not read symbols: File in wrong format

Thanks!

Lin

Thanks Peter.Here are the

Thanks Peter.

Here are the last lines before the error:

 [ 45%] Building CXX object src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/SensorInterface.cpp.o
 cd /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src && /usr/bin/c++   -DRTT_DLL_EXPORT -DOROCOS_TARGET=xenomai -fPIC -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/include -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os/xenomai    -ffunction-sections -fdata-sections -o CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/SensorInterface.cpp.o -c /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/dev/SensorInterface.cpp
 /usr/local/bin/cmake -E cmake_progress_report /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/CMakeFiles 
 [ 45%] Building CXX object src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/PulseTrainGeneratorInterface.cpp.o
 cd /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src && /usr/bin/c++   -DRTT_DLL_EXPORT -DOROCOS_TARGET=xenomai -fPIC -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/include -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os -I/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/os/xenomai    -ffunction-sections -fdata-sections -o CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/PulseTrainGeneratorInterface.cpp.o -c /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src/dev/PulseTrainGeneratorInterface.cpp

 Linking CXX shared library liborocos-rtt-xenomai.so
 cd /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/orocos-rtt-dynamic_xenomai.dir/link.txt --verbose=1

 /usr/bin/c++  -fPIC   -shared -Wl,-soname,liborocos-rtt-xenomai.so.1.10 -o liborocos-rtt-xenomai.so.1.10.4 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MethodC.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Timer.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConnectionInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/VertexNode.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TimeService.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandDispatch.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionBool.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/FunctionGraph.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CoreRunnableInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CompletionProcessor.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SequentialActivity.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionComposite.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Logger.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SlaveActivity.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyBagIntrospector.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Activity.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MarshallingAccess.cpp.o
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SimulationActivity.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MethodRepository.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Property.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Types.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventC.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandExecFunction.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataObjectInterfaces.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/FunctionGraphBuilder.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandRepository.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandString.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/StateDescription.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ActionInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Toolkit.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ProgramProcessor.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandNOP.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandCounter.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionDSDuration.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ProgramInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EdgeCondition.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyBag.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionDuration.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Operators.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/SimulationThread.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSourceCondition.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ScriptingAccess.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/MultiVector.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/StateMachineProcessor.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventProcessor.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/RealTimeToolkit.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/FactoryExceptions.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandC.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Attribute.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/NonPeriodicActivity.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSourceCommand.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ListLockFree.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TaskObject.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataFlowInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TaskContext.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TaskCore.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/Handle.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/BufferLockFree.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ExecutionEngine.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConnectionC.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSource.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionBoolProperty.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandProcessor.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/VectorComposition.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TypeStream-io.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionBoolDataSource.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TypeStream.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/StateMachine.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PortInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/AsynchCommandDecorator.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TryCommand.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/signal_base.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PeriodicActivity.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyIntrospection.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ActivityInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/AttributeRepository.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ConditionOnce.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/DataSources.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyLoader.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventDrivenActivity.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/TimerThread.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/CommandIllegal.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertySequence.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/ExecutionAccess.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/PropertyBase.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/EventService.cpp.o
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/OperationInterface.cpp.o
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/PropertyMarshaller.cpp.o
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/PropertyDemarshaller.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/CPFDTD.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/CPFMarshaller.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/marsh/CPFDemarshaller.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/rint.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/RunnableInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/exceptions.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/SingleThread.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/Mutex.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/MainThread.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/StartStopManager.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/ThreadInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/PeriodicThread.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/threads.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/rtstreams.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/Thread.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/startstop.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/rtconversions.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/xenomai/xenothreads.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/xenomai/fosi_internal.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/os/xenomai/fosi.c.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ConditionParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StateGraphParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/DumpObject.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/FunctionFactory.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ParserExecutionAccess.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/CommonParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramTask.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/Parser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramGraphParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ArgumentsParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/parse_exception.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StateMachineBuilder.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ExpressionParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/PropertyParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramLoader.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StatementProcessor.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/StateMachineTask.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/PeerParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ParsedStateMachine.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/CommandParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ValueChangeParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ParserScriptingAccess.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ProgramGraphParser2.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/scripting/ValueParser.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/EncoderInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/AxisInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/io.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/HomingInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/SensorInterface.cpp.o 
 CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/PulseTrainGeneratorInterface.cpp.o 
 
 (*) -lxerces-c -lxerces-depdom /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/librtdm.a /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.so -lpthread -Wl,-rpath,/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib: 

 /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.so: could not read symbols: File in wrong format
 collect2: ld returned 1 exit status
 make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1
 make[2]: Leaving directory `/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4'
 make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2
 make[1]: Leaving directory `/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4'
 make: *** [all] Error 2
The above is the error with libnative.so. I also tried libnative.a, then in the error, the line begins with "(*)" is slightly different:
 -lxerces-c -lxerces-depdom /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/librtdm.a /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a -lpthread 
 /usr/bin/ld: /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a(libnative_la-mutex.o): Relocations in generic ELF (EM: 20)
 /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a: could not read symbols: File in wrong format
Thanks!

Lin

Thanks Peter.Here are the

On Thursday 23 December 2010 10:25:15 lin [dot] zhang [..] ... wrote:
> Thanks Peter.
>
> Here are the last lines before the error:
>
> [ 45%] Building CXX object
> src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/dev/SensorInterface.cpp.o cd
> /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/src/orocos-rtt-1.10.4
> /src && /usr/bin/c++ -DRTT_DLL_EXPORT -DOROCOS_TARGET=xenomai -fPIC

It's not using your cross-compiler !

Check out how to setup a toolchain file for cross compiling with cmake. Be
warned that using the orocos-rtt.cmake file is *not* fit for that task. It
*must* be a separate file, as Cmake docs prescribe.

http://www.cmake.org/Wiki/CMake_Cross_Compiling

See "The Toolchain File".

Peter

Thanks! It's solved

Hi Peter,

Thanks very much for the help! I have changed the compiler to my own and I have installed orocos on my powerpc system.

Thanks again!

Best regards,
Lin

Thanks! It's solved

Hi Peter,

Thanks very much for the help! I have changed the compiler to my own and I have installed orocos on my powerpc system.

Thanks again!

Best regards, Lin

OCL with Xenomai: libnative.a: could not read symbols

Hi,

I am trying to compile orocos 1.10 with Xenomai for PowerPC. Here is the error I received:

Linking CXX shared library liborocos-rtt-xenomai.so

/usr/bin/ld: /home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a(libnative_la-mutex.o): Relocations in generic ELF (EM: 20)
/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.a: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1
make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2
make: *** [all] Error 2

I have tried ""libnative.so"" as well, the error is:
Linking CXX shared library liborocos-rtt-xenomai.so
/home/zhanglin/Performer_MK2_HW_SW_Controller/virtex/rootfs/usr/xenomai/lib/libnative.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [src/liborocos-rtt-xenomai.so.1.10.4] Error 1
make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_xenomai.dir/all] Error 2
make: *** [all] Error 2

Could anyone help me please? Thanks!

Best regards,
Lin