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

CMake Error for simple_message on "add_dependencies" #12

Closed
gomezc opened this issue Jun 10, 2013 · 8 comments
Closed

CMake Error for simple_message on "add_dependencies" #12

gomezc opened this issue Jun 10, 2013 · 8 comments
Labels

Comments

@gomezc
Copy link

gomezc commented Jun 10, 2013

Upon cloning the industrial_core repo into my catkin workspace, catkin_make gave the following error:

CMake Error at industrial_core/simple_message/CMakeLists.txt:97 (add_dependencies):
  add_dependencies called with incorrect number of arguments

The error appeared three times for the three add_dependencies lines, one example below:

add_dependencies(simple_message_bswap ${industrial_msgs_EXPORTED_TARGETS})

I changed the ${industrial_msgs_EXPORTED_TARGETS} to simple_message_gencpp and was able to complete the make process.
I'm guessing maybe there's a setting/configuration I missed somewhere, but I'm not sure.

@gavanderhoorn
Copy link
Member

AFAICT the fix for the referenced #4 is ok, it just seems to depend on a >= version of genmsg being installed (>= 0.4.18 to be exact). I'm not sure, but I'm almost certain I tested it on my groovy installation before submitting the pull request. I'll check the version(s) of genmsg I have here in a minute.

Comment on specific version of genmsg: raptort3000/ublox_catkin/pull/1. And some (more) official docs on the add_dependencies(..) statement: catkin/CMakeLists.txt#Important Prerequisites.

Note that the catkin docs add a dependency on ${PROJECT_NAME}_gencpp, while many core ROS developers have started using ${PROJECT_NAME}_EXPORTED_TARGETS (see for instance here). AFAIK the latter is actually currently recommended.

I propose we create branches to those we had in the googlecode project, to prevent this sort of thing (groovy-devel, hydro-devel, tagging them for releases). Especially build system related fixes seem to be heavily dependent on specific versions being used / installed.

@gavanderhoorn
Copy link
Member

Just checked:

user@host:~$ dpkg --list | grep genmsg
ii  ros-fuerte-genmsg      0.3.10-0precise-20130312-1307-+0000      Willow Garage ..
ii  ros-groovy-genmsg      0.4.17-0precise-20130325-0734-+0000      Standalone ..
ii  ros-hydro-genmsg       0.4.18-0precise-20130322-2123-+0000      Standalone ..

Seems like the current groovy version of genmsg is older than the hydro version, hence the error message.

@shaun-edwards
Copy link
Member

I'm hesitant to create a hydro branch since it would require constant syncing to the groovy branch (which might be easier in git, but was painful in svn). Most developers are still on groovy since it is stable and there wasn't a clear reason to move to hydro (especially with no official release date in sight). You appear to be using Hydro. Can you make a case for switching sooner rather than later (a good enough case to have to manage multiple branches?)

My preference is to stick to groovy and just log bugs against a hydro release.

@gavanderhoorn
Copy link
Member

Well, I don't think I have a case 'for Hydro' other than that it seems prudent to start supporting it as soon as possible. As soon as the catkinization of industrial_core is good enough, supporting Hydro shouldn't be too hard. Keeping the branches synced shouldn't be that much of a problem.

If we're not going to support Hydro in this repository, you should edit the readme: it currently states that the github repository is for > groovy, while the googlecode project is for <= groovy.

@shaun-edwards
Copy link
Member

Christina,

Can you move ahead with creating a groovy-dev and hydro-dev branch in this repo. Make sure the CMakeLists has the appropriate changes in each. We will use this as an experiment to determine how good git is at managing two development paths.

We may want to consider deleting the master branch since this causes confusion, but we will wait for that change.

@gavanderhoorn
Copy link
Member

May I suggest naming the branches groovy-devel and hydro-devel? Just to be more in-line with the rest of the ROS repositories.

@shaun-edwards
Copy link
Member

I'm not tied to the name. We used -dev in the subversion repo. We will leave it up to Christina to decide.

@gomezc
Copy link
Author

gomezc commented Jun 13, 2013

Ok groovy-devel and hydro-devel branches created. The groovy branch has the fix that I did (${PROJECT_NAME}_gencpp) and the hydro branch has the preferred method (${PROJECT_NAME}_EXPORTED_TARGETS).

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

No branches or pull requests

3 participants