Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possibly wrong circular dependency #1008

Closed
yotabits opened this issue May 14, 2019 · 2 comments
Closed

Possibly wrong circular dependency #1008

yotabits opened this issue May 14, 2019 · 2 comments

Comments

@yotabits
Copy link

yotabits commented May 14, 2019

In the following exemple I have pkga and pkgb and consequently the two following packages.xml

<?xml version="1.0"?>
<package format="2">
  <name>pkga</name>
  <version>0.0.0</version>
  <description>The pkga package</description>

  <maintainer email="tkostas@todo.todo">tkostas</maintainer>

  <license>TODO</license>

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>pkgb</build_depend>

</package>
<?xml version="1.0"?>
<package format="2">
  <name>pkgb</name>
  <version>0.0.0</version>
  <description>The pkgb package</description>

  <maintainer email="tkostas@todo.todo">tkostas</maintainer>


  <license>TODO</license>


  <buildtool_depend>catkin</buildtool_depend>
  <exec_depend>pkga</exec_depend>
</package>

Running catkin_make gives me the following error:

CMake Error at /home/tkostas/test_ws/build/catkin_generated/order_packages.cmake:11 (message):
  Circular dependency in subset of packages:

  pkga
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/tkostas/test_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/tkostas/test_ws/build/CMakeFiles/CMakeError.log".
Makefile:332: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

I think there is not any circular dependency problem because pkgb depends on pkga only as exec_depend, am I missing something?

To reproduce, in a ros env

git clone git@github.com:yotabits/dependency_ros_failure.git && cd dependency_ros_failure
catkin_make
@dirk-thomas
Copy link
Member

This is intentionally considered to be a circular dependency. If you want to release these two packages as Debian packages neither of them can be released first:

  • pkga can't be build without installing the dependency pkgb
  • The Debian package of pkgb can't be installed without the Debian package pkga

@yotabits
Copy link
Author

Thank you for the feedback 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants