ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Problem building .deb for rosconsole in kinetic

asked 2016-08-07 06:26:59 -0500

veverak gravatar image

Hi folks,

I am trying to build .deb packages for kinetic on raspbian jessie on rpi3 itself.

I managed to get almost all packages i need, but I am not able to build deb package for rosconsole.

My approach:

  • make source installation into /opt/ros/kinetic/
  • iterate over src/ and for each packaged create .deb package

I am not exactly sure now what error message means and how to reasonably get rid of it....


# fakeroot debian/rules binary
dh  binary
   dh_testdir
Unknown option: buildsystem
dh_testdir: warning: ignored unknown options in DH_OPTIONS
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/opt/builder/src/ros_comm/rosconsole'
# In case we're installing to a non-standard location, look for a setup.sh
# in the install tree that was dropped by catkin, and source it.  It will
# set things like CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH.
if [ -f "/opt/ros/kinetic/setup.sh" ]; then . "/opt/ros/kinetic/setup.sh"; fi && \
dh_auto_configure -- \
    -DCATKIN_BUILD_BINARY_PACKAGE="1" \
    -DCMAKE_INSTALL_PREFIX="/opt/ros/kinetic" \
    -DCMAKE_PREFIX_PATH="/opt/ros/kinetic"
    mkdir -p obj-arm-linux-gnueabihf
    cd obj-arm-linux-gnueabihf
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCATKIN_BUILD_BINARY_PACKAGE=1 -DCMAKE_INSTALL_PREFIX=/opt/ros/kinetic -DCMAKE_PREFIX_PATH=/opt/ros/kinetic
-- Using CATKIN_DEVEL_PREFIX: /opt/builder/src/ros_comm/rosconsole/obj-arm-linux-gnueabihf/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Skip enable_testing() when building binary package
-- Using CATKIN_TEST_RESULTS_DIR: /opt/builder/src/ros_comm/rosconsole/obj-arm-linux-gnueabihf/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
CMake Error at /opt/ros/kinetic/share/catkin/cmake/assert.cmake:17 (message):


  Assertion failed: check for file existence, but filename
  (RT_LIBRARY-NOTFOUND) unset.  Message: RT Library

Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/tools/rt.cmake:42 (assert_file_exists)
  /opt/ros/kinetic/share/catkin/cmake/all.cmake:147 (include)
  /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:8 (find_package)


-- Configuring incomplete, errors occurred!
See also "/opt/builder/src/ros_comm/rosconsole/obj-arm-linux-gnueabihf/CMakeFiles/CMakeOutput.log".
See also "/opt/builder/src/ros_comm/rosconsole/obj-arm-linux-gnueabihf/CMakeFiles/CMakeError.log".
dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCATKIN_BUILD_BINARY_PACKAGE=1 -DCMAKE_INSTALL_PREFIX=/opt/ros/kinetic -DCMAKE_PREFIX_PATH=/opt/ros/kinetic returned exit code 1
debian/rules:26: recipe for target 'override_dh_auto_configure' failed
make[1]: *** [override_dh_auto_configure] Error 2
make[1]: Leaving directory '/opt/builder/src/ros_comm/rosconsole'
debian/rules:23: recipe for target 'binary' failed
make: *** [binary] Error 2
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2016-08-09 07:28:28 -0500

veverak gravatar image

After inspection of cmake file, I changed to use way of finding that lirbary vor cmake versions less than 2.8.4 and it compiled just OK< unfortunetly I am not able to properly test it yet, but I will report if this solution worked ASAP

original file:

if(NOT (APPLE OR WIN32 OR MINGW OR ANDROID))
  if (${CMAKE_VERSION} VERSION_LESS 2.8.4)
    # cmake later than 2.8.0 appears to have a better find_library
    # that knows about the ABI of the compiler.  For lucid we just
    # depend on the linker to find it for us.
    set(RT_LIBRARY rt CACHE FILEPATH "Hacked find of rt for cmake < 2.8.4")
  else()
    find_library(RT_LIBRARY rt)
    assert_file_exists(${RT_LIBRARY} "RT Library")
  endif()
  #message(STATUS "RT_LIBRARY: ${RT_LIBRARY}")
endif()
edit flag offensive delete link more
0

answered 2016-08-08 00:11:24 -0500

tfoote gravatar image

It looks like you might not have librt installed. It should be in libc6: https://packages.debian.org/jessie/libc6 https://packages.debian.org/search?ar...

Looks like a duplicate of: http://answers.ros.org/question/20760...

related: http://answers.ros.org/question/66978...

edit flag offensive delete link more

Comments

I've got /lib/arm-linux-gnueabihf/librt.so.1 in proepr place and libc6,libc6-dbg,libc6-dev allready installed.

rosconsole compiled just OK for source installation and is usable... it's only when I try to make it into .deb from same source it fails...

veverak gravatar image veverak  ( 2016-08-09 07:00:28 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2016-08-07 06:26:59 -0500

Seen: 1,167 times

Last updated: Aug 09 '16