Project

General

Profile

Bug #171

Using masquerade may lead to repeated dependencies on package.xml

Added by Ellon Paiva Mendes 10 months ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal

Description

The file `package.xml` installed by genom3-ros has default dependencies on roscpp, std_msgs, actionlib and actionlib_msgs. If the module uses #pragma masquerade new dependencies will be added, and if one of these dependencies is one of the four already added by default, the resulting `package.xml` will be invalid. If such package is installed and can be found by catkin, catkin_make calls to fail with an error. Example:

$ catkin_make
Base path: /home/emendes/catkin_ws
Source space: /home/emendes/catkin_ws/src
Build space: /home/emendes/catkin_ws/build
Devel space: /home/emendes/catkin_ws/devel
Install space: /home/emendes/catkin_ws/install
####
#### Running command: "cmake /home/emendes/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/emendes/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/emendes/catkin_ws/install -G Unix Makefiles" in "/home/emendes/catkin_ws/build" 
####
-- Using CATKIN_DEVEL_PREFIX: /home/emendes/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/emendes/catkin_ws/devel;/home/emendes/openrobots;/opt/ros/kinetic
-- This workspace overlays: /home/emendes/catkin_ws/devel;/home/emendes/openrobots;/opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/emendes/catkin_ws/build/test_results
-- Found gmock sources under '/usr/src/gmock': gmock will be built
-- Found gtest sources under '/usr/src/gmock': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.11
-- BUILD_SHARED_LIBS is on
CMake Error at /home/emendes/catkin_ws/build/catkin_generated/order_packages.cmake:2 (message):
  Error(s) in package
  '/home/emendes/openrobots/share/infuse_bitstream_sink_ros/package.xml':

  Error(s):

  - The generic dependency on 'std_msgs' is redundant with: build_depend,
  build_export_depend, exec_depend
Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/catkin_workspace.cmake:42 (include)
  CMakeLists.txt:63 (catkin_workspace)

-- Configuring incomplete, errors occurred!
See also "/home/emendes/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/emendes/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

Associated revisions

Revision 8ab45605 (diff)
Added by Anthony Mallet 10 months ago

Uniquify dependencies in gerated package.xml

For some reason, catkin does not support duplicate dependencies in package.xml
(while this was OK in manifest.xml).

Fixes #171

History

#1

Updated by Ellon Paiva Mendes 10 months ago

  • Description updated (diff)
#2

Updated by Anthony Mallet 10 months ago

  • Status changed from New to Closed

Also available in: Atom PDF