PR2 / pr2_ethercat_drivers

Drivers for the ethercat system and the peripherals on the PR2.
14 stars 13 forks source link

eml doesn't compile on oneiric due to pthreads undefined references (ros ticket #5162) #57

Closed ahendrix closed 11 years ago

ahendrix commented 11 years ago

This is blocking pr2 meta packages on oneiric

It looks to be missing a system dependency on pthreads

{{{ rosmake ] Last 124 lines {------------------------------------------------------------------------------- make[2]: Entering directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml' make wipe make[3]: Entering directory/tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml' make -C build/eml-svn/build clean make: Entering an unknown directory make: *\ build/eml-svn/build: No such file or directory. Stop. make: Leaving an unknown directory make[3]: [clean] Error 2 (ignored) rm -rf eml installed rm -rf build make[3]: Leaving directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml' touch wiped mkdir -p build rospack find rosbuild/bin/download_checkmd5.py http://pr.willowgarage.com/downloads/eml-r36.tar.bz2 build/eml-r36.tar.bz2 [rosbuild] Downloading http://pr.willowgarage.com/downloads/eml-r36.tar.bz2 to build/eml-r36.tar.bz2...Done touch -c build/eml-r36.tar.bz2 rm -rf build/eml-svn cd build; tar xjf ../build/eml-r36.tar.bz2 patch -d build/eml-svn -p0 < eml-r36.patch; patching file tests/posix/eval_test.cpp patching file tests/rtnet/eval_test.cpp patching file include/ethercat/arch-eCos/ethercat/ethercat_log.h patching file include/ethercat/arch-template/ethercat_log.h patching file include/ethercat/arch-RTnet/ethercat/ethercat_log.h patching file include/ethercat/arch-RTnet/ethercat/netif.h patching file include/dll/ethercat_dll.h patching file include/dll/ethercat_device_addressed_telegram.h patching file include/dll/ethercat_telegram.h patching file include/dll/ethercat_slave_memory.h patching file include/al/ethercat_slave_conf.h patching file include/al/ethercat_FSM.h patching file include/al/ethercat_mbx.h patching file include/al/ethercat_process_data.h patching file include/al/ethercat_slave_handler.h patching file src/dll/ethercat_telegram.cxx patching file src/dll/ethercat_slave_memory.cxx patching file src/dll/ethercat_frame.cxx patching file src/dll/ethercat_dll.cxx patching file src/dll/ethercat_device_addressed_telegram.cxx patching file src/al/ethercat_slave_conf.cxx patching file src/al/ethercat_router.cxx patching file src/al/ethercat_FSM.cxx patching file src/al/ethercat_process_data.cxx patching file src/al/ethercat_slave_handler.cxx patching file src/al/ethercat_AL.cxx patching file src/arch/posix/ethercat_posix_drv.c patching file src/arch/RTnet/ethercat_xenomai_drv.c patching file src/CMakeLists.txt patching file CMakeLists.txt touch build/eml-svn/unpacked cd build/eml-svn && \ mkdir -p build && \ cd build && \ cmake -D CMAKE_INSTALL_PREFIX=rospack find eml`/eml .. && \ make install -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as

  cmake_minimum_required(VERSION 2.8)

should be added at the top of the file.  The version specified may be lower
if you wish to support older CMake versions for this project.  For more
information run "cmake --help-policy CMP0000".

This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring done -- Generating done -- Build files have been written to: /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build make[3]: Entering directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' make[4]: Entering directory/tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' make[5]: Entering directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' Scanning dependencies of target eml-dynamic make[5]: Leaving directory/tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' make[5]: Entering directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' [ 6%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_AL.o [ 12%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_slave_handler.o [ 18%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_process_data.o [ 25%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_FSM.o [ 31%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_router.o [ 37%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_slave_conf.o [ 43%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_mbx.o [ 50%] Building CXX object src/CMakeFiles/eml-dynamic.dir/al/ethercat_master.o [ 56%] Building CXX object src/CMakeFiles/eml-dynamic.dir/dll/ethercat_device_addressed_telegram.o [ 62%] Building CXX object src/CMakeFiles/eml-dynamic.dir/dll/ethercat_dll.o [ 68%] Building CXX object src/CMakeFiles/eml-dynamic.dir/dll/ethercat_frame.o [ 75%] Building CXX object src/CMakeFiles/eml-dynamic.dir/dll/ethercat_slave_memory.o [ 81%] Building CXX object src/CMakeFiles/eml-dynamic.dir/dll/ethercat_telegram.o [ 87%] Building CXX object src/CMakeFiles/eml-dynamic.dir/dll/ethercat_logical_addressed_telegram.o [ 93%] Building C object src/CMakeFiles/eml-dynamic.dir/arch/posix/ethercat_posix_drv.o Linking CXX shared library libeml.so make[5]: Leaving directory/tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' [ 93%] Built target eml-dynamic make[5]: Entering directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' Scanning dependencies of target master_test make[5]: Leaving directory/tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' make[5]: Entering directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' [100%] Building CXX object tests/posix/CMakeFiles/master_test.dir/master_test.o Linking CXX executable master_test CMakeFiles/master_test.dir/master_test.o: In functionmain': /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/tests/posix/master_test.cpp:156: undefined reference to pthread_create' /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/tests/posix/master_test.cpp:160: undefined reference topthread_join' /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build/src/libeml.so: undefined reference to clock_gettime' /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build/src/libeml.so: undefined reference topthread_mutexattr_settype' /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build/src/libeml.so: undefined reference to pthread_mutexattr_init' /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build/src/libeml.so: undefined reference topthread_cancel' collect2: ld returned 1 exit status make[5]: * [tests/posix/master_test] Error 1 make[5]: Leaving directory /tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' make[4]: *** [tests/posix/CMakeFiles/master_test.dir/all] Error 2 make[4]: Leaving directory/tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' make[3]: *\ [all] Error 2 make[3]: Leaving directory `/tmp/buildd/ros-electric-pr2-ethercat-drivers-1.5.3/debian/ros-electric-pr2-ethercat-drivers/opt/ros/electric/stacks/pr2_ethercat_drivers/eml/build/eml-svn/build' make[2]: * [installed] Error 2 -------------------------------------------------------------------------------} [ rosmake ] Output from build of package eml written to: [ rosmake ] /tmp/buildd/.ros/rosmake/rosmake_output-20111117-012141/eml/build_output.log [rosmake-12] Finished <<< eml [FAIL] [ 3.65 seconds ] }}}

trac data:

ahendrix commented 11 years ago

[dking] This must be building from pr2_ethercat_driver/tags/electric? There should have fix has been checked into pr2_ethercat_drivers/branches/pr2_ethercat_drivers-1.6 for a couple weeks.

I've gotten a pre-release pr2_ethercat_drivers to build on Oneric, and release the pr2_ethercat_drivers 1.6.1. Hopefully this will fix the issue.