ros / dynamic_reconfigure

BSD 3-Clause "New" or "Revised" License
47 stars 112 forks source link

Test fails on Arch Linux #57

Closed bchretien closed 7 years ago

bchretien commented 8 years ago

While compiling dynamic_reconfigure on Arch Linux (e.g. with indigo), we get:

[  5%] Generating dynamic reconfigure files from cfg/Test.cfg: /home/user/dev/dynamic_reconfigure/build/devel/include/dynamic_reconfigure/TestConfig.h /home/user/dev/dynamic_reconfigure/build/devel/lib
/python2.7/site-packages/dynamic_reconfigure/cfg/TestConfig.py
[  5%] Built target _dynamic_reconfigure_generate_messages_check_deps_ParamDescription
Traceback (most recent call last):
  File "/home/user/dev/dynamic_reconfigure/cfg/Test.cfg", line 37, in <module>
    from dynamic_reconfigure.parameter_generator_catkin import *
ImportError: No module named 'dynamic_reconfigure'
CMakeFiles/dynamic_reconfigure_gencfg.dir/build.make:63: recipe for target 'devel/include/dynamic_reconfigure/TestConfig.h' failed
make[2]: *** [devel/include/dynamic_reconfigure/TestConfig.h] Error 1
make[2]: Target 'CMakeFiles/dynamic_reconfigure_gencfg.dir/build' not remade because of errors.
CMakeFiles/Makefile2:584: recipe for target 'CMakeFiles/dynamic_reconfigure_gencfg.dir/all' failed

We currently add -DCATKIN_ENABLE_TESTING=OFF to avoid the issue. See the original discussion in the AUR.

mikaelarguedas commented 7 years ago

The problem is IMO that the way we build and test of the buildfarm does avoid this problem (we build and install the package and then build the tests and run them).

The possible solutions are (from the ugliest to the nicest):

@allenh1 FYI follow up of #85

allenh1 commented 7 years ago

@mikaelarguedas Thank you very much. I can confirm the fix is to disable the flag.

allenh1 commented 7 years ago

https://github.com/ros/ros-overlay/blob/496993cd2e730b338db6f4e008f9221e106f98f3/eclass/ros-cmake.eclass#L158-L166

This was the fix for me. There's some real inconsisency: on Ubuntu, python libraries all go to the lib folder, but on Arch and Gentoo this is not so. Those lines essentially force the files to map into lib64.

mikaelarguedas commented 7 years ago

@bchretien I'm going to close this. I cross posted @allenh1 workaround on the original AUR post as well. Feel free to comment here if this is still a problem and we can re-open

mikaelarguedas commented 7 years ago

@allenh1 FYI: I edited the link in https://github.com/ros/dynamic_reconfigure/issues/57#issuecomment-315894131 to point to a specific commit rather than master for this answer to be more future-proof