ros-drivers / freenect_stack

libfreenect based ROS driver
http://ros.org/wiki/freenect_stack
35 stars 53 forks source link

cannot find freenect_camera/FreenectConfig.h #28

Open heavyhuang opened 8 years ago

heavyhuang commented 8 years ago

Hello, I'm having some trouble with yaourt ros-indigo-freenect-stack in arch-linux,it's get:

> [20%] Building CXX object CMakeFiles / freenect_nodelet.dir / src / nodelets / drive.cpp.o
> In file included from /tmp/yaourt-tmp-huang/aur-ros-indigo-freenect-camera/src/freenect_camera/src/nodelets/driver.cpp:39:0:
> /tmp/yaourt-tmp-huang/aur-ros-indigo-freenect-camera/src/freenect_camera/src/nodelets/driver.h:51:44: Fatal Error: freenect_camera / FreenectConfig.h: No such file or directory
> Compile interrupt.
> CMakeFiles / freenect_nodelet.dir / build.make: 62: recipe for target 'CMakeFiles / freenect_nodelet.dir / src / nodelets / driver.cpp.o' failed
> make [2]: *** [CMakeFiles / freenect_nodelet.dir / src / nodelets / driver.cpp.o] Error 1
> CMakeFiles / Makefile2: 67: recipe for target 'CMakeFiles / freenect_nodelet.dir / all' failed
> make [1]: *** [CMakeFiles / freenect_nodelet.dir / all] Error 2
> Makefile: 127: recipe for target 'all' failed
> make: *** [all] Error 2
> ==> ERROR: An error has occurred build () in. Aborting ...
> ==> Error: Makepkg not build ros-indigo-freenect-camera.

and I find #include <freenect_camera/FreenectConfig.h> in driver.h but cannot find FreenectConfig.h,does it change name?

piyushk commented 8 years ago

@heavyhuang FreenectConfig.h is auto-generated from this file: https://github.com/ros-drivers/freenect_stack/blob/master/freenect_camera/cfg/Freenect.cfg, using dynamic reconfigure message generation.

I suspect it might be because CMakeLists is missing an add dependency on the autogenerated config file. I'll add it shortly. Unfortunately, I'm not aware as to how yaourt works. I'm assuming you can pull from the master branch and build it on arch somehow?

piyushk commented 8 years ago

@heavyhuang I've now updated the master branch.

jacquelinekay commented 8 years ago

The binary job on Kinetic appears to fail because of this issue:

http://build.ros.org/job/Kbin_uX64__freenect_camera__ubuntu_xenial_amd64__binary/4/

jack-oquin commented 8 years ago

@jacquelinekay: We have a fix for that problem, which suddenly appeared in Xenial. I plan to re-release soon, but would like to run a Travis CI test for Xenial and Kinetic, if that's possible yet.

jacquelinekay commented 8 years ago

Thanks for re-releasing!

jack-oquin commented 8 years ago

You are welcome, Jackie.

@heavyhuang: can you verify whether this fixes your problem with Arch Linux?

You'll need to build it from source, as this fix has only been released to Kinetic so far. If it fixes your problem, I'll release it to Indigo, too.

yohlane commented 8 years ago

@jack-oquin, @heavyhuang Adding the folling before the make in the PKGBUILD worked sed -i '40 a add_dependencies(freenect_node ${PROJECT_NAME}_gencfg)' ${srcdir}/${_dir}/CMakeLists.txt sed -i '46 a add_dependencies(freenect_nodelet ${PROJECT_NAME}_gencfg)' ${srcdir}/${_dir}/CMakeLists.txt