Coder Social home page Coder Social logo

topic-tools: fails in compilation with sysroots/x86_64-linux/usr/lib/libboost_thread-mt.so: could not read symbols: File in wrong format about meta-ros HOT 12 CLOSED

ros avatar ros commented on August 23, 2024
topic-tools: fails in compilation with sysroots/x86_64-linux/usr/lib/libboost_thread-mt.so: could not read symbols: File in wrong format

from meta-ros.

Comments (12)

bulwahn avatar bulwahn commented on August 23, 2024

The full log (on my machine) is:

| DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i586-linux', 'common']
| DEBUG: Executing shell function do_compile
| NOTE: make -j 8
| /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -H/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools -B/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build --check-build-system CMakeFiles/Makefile.cmake 0
| /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_progress_start /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles/progress.marks
| make -f CMakeFiles/Makefile2 all
| make[1]: Entering directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | make -f CMakeFiles/topic_tools_gencpp.dir/build.make CMakeFiles/topic_tools_gencpp.dir/depend | make -f CMakeFiles/topic_tools_genlisp.dir/build.make CMakeFiles/topic_tools_genlisp.dir/depend | make -f CMakeFiles/topic_tools_genpy.dir/build.make CMakeFiles/topic_tools_genpy.dir/depend | make[2]: Entering directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| cd /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build && /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles/topic_tools_gencpp.dir/DependInfo.cmake --color=
| make[2]: Entering directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | cd /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build && /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles/topic_tools_genlisp.dir/DependInfo.cmake --color= | make[2]: Entering directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| cd /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build && /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles/topic_tools_genpy.dir/DependInfo.cmake --color=
| make[2]: Leaving directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | make[2]: Leaving directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| make -f CMakeFiles/topic_tools_gencpp.dir/build.make CMakeFiles/topic_tools_gencpp.dir/build
| make[2]: Leaving directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | make -f CMakeFiles/topic_tools_genlisp.dir/build.make CMakeFiles/topic_tools_genlisp.dir/build | make -f CMakeFiles/topic_tools_genpy.dir/build.make CMakeFiles/topic_tools_genpy.dir/build | make[2]: Entering directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| make[2]: Nothing to be done for CMakeFiles/topic_tools_gencpp.dir/build'. | make[2]: Leaving directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| make[2]: Entering directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | make[2]: Nothing to be done forCMakeFiles/topic_tools_genlisp.dir/build'.
| make[2]: Leaving directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_progress_report /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles 9 10 11 12 | make[2]: Entering directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| make[2]: Nothing to be done for CMakeFiles/topic_tools_genpy.dir/build'. | make[2]: Leaving directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_progress_report /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles 13 14 15 16
| /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_progress_report /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles 17 18 19 20 21
| [ 20%] [ 40%] [ 65%] Built target topic_tools_gencpp
| make -f CMakeFiles/topic_tools.dir/build.make CMakeFiles/topic_tools.dir/depend
| Built target topic_tools_genlisp
| Built target topic_tools_genpy
| make[2]: Entering directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | cd /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build && /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build/CMakeFiles/topic_tools.dir/DependInfo.cmake --color= | make[2]: Leaving directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| make -f CMakeFiles/topic_tools.dir/build.make CMakeFiles/topic_tools.dir/build
| make[2]: Entering directory /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build' | Linking CXX shared library devel/lib/libtopic_tools.so | /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/topic_tools.dir/link.txt --verbose=1 | /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/i586-oe-linux/i586-oe-linux-g++ -fPIC -m32 -march=i586 --sysroot=/home/lukas/oe-core/build/tmp-eglibc/sysroots/qemux86 -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -fpermissive -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -shared -Wl,-soname,libtopic_tools.so -o devel/lib/libtopic_tools.so CMakeFiles/topic_tools.dir/src/shape_shifter.cpp.o CMakeFiles/topic_tools.dir/src/parse.cpp.o -lcpp_common -lrosconsole -lboost_regex-mt -lboost_thread-mt -llog4cxx -lrostime -lboost_date_time-mt -lboost_system-mt -lroscpp -lboost_signals-mt -lboost_filesystem-mt -lroscpp_serialization -lxmlrpcpp /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libboost_thread-mt.so -Wl,-rpath,/home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib: | /home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libboost_thread-mt.so: could not read symbols: File in wrong format | collect2: error: ld returned 1 exit status | make[2]: *** [devel/lib/libtopic_tools.so] Error 1 | make[2]: Leaving directory/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| make[1]: *** [CMakeFiles/topic_tools.dir/all] Error 2
| make[1]: Leaving directory `/home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/ros_comm-1.9.41/tools/topic_tools/build'
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see /home/lukas/oe-core/build/tmp-eglibc/work/i586-oe-linux/topic-tools/1.9.41-r0/temp/log.do_compile.26525 for further information)
ERROR: Task 7 (/home/lukas/oe-core/meta-ros/recipes-ros/ros-comm/topic-tools_1.9.41.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1209 tasks of which 1207 didn't need to be rerun and 1 failed.

from meta-ros.

bulwahn avatar bulwahn commented on August 23, 2024

The log was produced with the current commit 26571f8 and the solution provided by #50.

from meta-ros.

herbrechtsmeier avatar herbrechtsmeier commented on August 23, 2024

You should try to add boost to the DEPENDS. If this doesn't help we have to remove the absolute link paths from the generated CMake files. I have done some work in this direction but haven't the time to finish it.

from meta-ros.

bulwahn avatar bulwahn commented on August 23, 2024

Just adding boost to the DEPENDS did not help. A temporary solution is to add

list(REMOVE_AT catkin_LIBRARIES -1)

to the CMakeLists.txt

from meta-ros.

herbrechtsmeier avatar herbrechtsmeier commented on August 23, 2024

@bulwahn I have rethink about the problem and we shouldn't remove the absolute link paths for now as they mask problems. The same is true for your solution. The real solution must be a missing DEPENDS of the find_package catkin components or there dependencies. One of the components is taken from the native sysroot and adds the "/home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libboost_thread-mt.so" to the link flags. This means the component is missing in the cross sysroot. You should find the missing component if you grep for the path in all *Config.cmake files in the sysroot.

from meta-ros.

bulwahn avatar bulwahn commented on August 23, 2024

It is probably caused by this line in rostestConfig.cmake of the rostest-native.

./x86_64-linux/usr/share/rostest/cmake/rostestConfig.cmake:set(libraries "/home/lukas/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libboost_thread-mt.so")

We are back at the rostest-native problem. Does this package really need the rostest executable at build time?

from meta-ros.

herbrechtsmeier avatar herbrechtsmeier commented on August 23, 2024

Because the package use add_rostest we need rostest-native. We have to add rostest and rostest-native to the DEPENDS of topic-tools or we have to use rostest only and add rostest-native to the DEPENDS of rostest. Rostest have an include file which must be used from the cross sysroot (rostest) and a binary which must be used from the native sysroot (rostest-native).

from meta-ros.

bulwahn avatar bulwahn commented on August 23, 2024

What's about the following idea? We split the files in different packages like this:
The package rostest-dev contains the include file. The package rostest and rostest-native contains the binary.
Then we could write in the topic-tools recipe to depend on rostest-dev and rostest-native.
This would also fit with my understanding of the general idea of -dev packages.

from meta-ros.

herbrechtsmeier avatar herbrechtsmeier commented on August 23, 2024

@bulwahn This is automatically done by OpenEmbedded. You only need to add rostest to the DEPENDS.

from meta-ros.

bulwahn avatar bulwahn commented on August 23, 2024

I tried this line in the topic-tools recipe:

DEPENDS = "rostest rostest-native roscpp"

but this did not help. Maybe you know a better solution, otherwise we should just choose d248961 and look at this problem again later.

from meta-ros.

herbrechtsmeier avatar herbrechtsmeier commented on August 23, 2024

Have you try a clean build? My build was successful.

from meta-ros.

bulwahn avatar bulwahn commented on August 23, 2024

I retried it on a clean build and the build was successful. Please commit your suggestion to the main repository.

from meta-ros.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.