OCL with Xenomai: libnative.a: could not read symbols
Submitted by lin.zhang on Mon, 2010-12-20 09:06 |
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 was compiled with: 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:
The above is the error with libnative.so. I also tried libnative.a, then in the error, the line begins with "(*)" is slightly different: 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