Project

General

Profile

Bug #171

Using masquerade may lead to repeated dependencies on package.xml

Added by Ellon Paiva Mendes 7 months ago. Updated 7 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 7 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 7 months ago

  • Description updated (diff)
#2

Updated by Anthony Mallet 7 months ago

  • Status changed from New to Closed

Also available in: Atom PDF