duo3d / duo3d_driver

ROS Driver for DUO
http://ros.org/wiki/duo3d-driver
BSD 3-Clause "New" or "Revised" License
12 stars 21 forks source link

Duo3DConfig.h #2

Open 447425299 opened 7 years ago

447425299 commented 7 years ago

can not find Duo3DConfig.h

fangchangma commented 7 years ago

can not find Duo3DConfig.h

@447425299 Try #3 and see whether it works for you.

surfertas commented 7 years ago

This worked for me.

dbolkensteyn commented 7 years ago

PR #3 does not seem to be the right fix.

The full error I got while simply following the duo3d-driver install guide at http://wiki.ros.org/duo3d-driver is:

Errors     << duo3d_driver:make /home/dinesh/Desktop/btb/ws/logs/duo3d_driver/build.make.000.log                                               
catkin_generated/env_cached.sh: 16: exec: /home/dinesh/Desktop/btb/ws/src/duo3d_driver/cfg/Duo3D.cfg: Permission denied
make[2]: *** [/home/dinesh/Desktop/btb/ws/devel/.private/duo3d_driver/include/duo3d_driver/Duo3DConfig.h] Error 126
make[1]: *** [CMakeFiles/duo3d_driver_gencfg.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/dinesh/Desktop/btb/ws/src/duo3d_driver/src/duo3d_driver.cpp:36:38: fatal error: duo3d_driver/Duo3DConfig.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/duo3d_driver.dir/src/duo3d_driver.cpp.o] Error 1
make[1]: *** [CMakeFiles/duo3d_driver.dir/all] Error 2
make: *** [all] Error 2

Notice the exec: /home/dinesh/Desktop/btb/ws/src/duo3d_driver/cfg/Duo3D.cfg: Permission denied error mentioned before the Duo3DConfig.h one.

chmod +x /home/dinesh/Desktop/btb/ws/src/duo3d_driver/cfg/Duo3D.cfg and rebuilding fixed it.

The root cause seems to be missing file permissions in the zip file. The executable flag has to be manually set.

fangchangma commented 7 years ago

PR #3 does not seem to be the right fix.

The full error I got while simply following the duo3d-driver install guide at http://wiki.ros.org/duo3d-driver is:

Errors << duo3d_driver:make /home/dinesh/Desktop/btb/ws/logs/duo3d_driver/build.make.000.log
catkin_generated/env_cached.sh: 16: exec: /home/dinesh/Desktop/btb/ws/src/duo3d_driver/cfg/Duo3D.cfg: Permission denied make[2]: [/home/dinesh/Desktop/btb/ws/devel/.private/duo3d_driver/include/duo3d_driver/Duo3DConfig.h] Error 126 make[1]: [CMakeFiles/duo3d_driver_gencfg.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... /home/dinesh/Desktop/btb/ws/src/duo3d_driver/src/duo3d_driver.cpp:36:38: fatal error: duo3d_driver/Duo3DConfig.h: No such file or directory compilation terminated. make[2]: [CMakeFiles/duo3d_driver.dir/src/duo3d_driver.cpp.o] Error 1 make[1]: [CMakeFiles/duo3d_driver.dir/all] Error 2 make: [all] Error 2 Notice the exec: /home/dinesh/Desktop/btb/ws/src/duo3d_driver/cfg/Duo3D.cfg: Permission denied error mentioned before the Duo3DConfig.h one.

chmod +x /home/dinesh/Desktop/btb/ws/src/duo3d_driver/cfg/Duo3D.cfg and rebuilding fixed it.

The root cause seems to be missing file permissions in the zip file. The executable flag has to be manually set.

You are talking about a different problem, which would have been avoided if you follow the instructions on https://github.com/duo3d/duo3d_driver. More specifically, the wiki http://wiki.ros.org/duo3d-driver is indeed incomplete, and we should execute the command chmod a+x cfg/Duo3D.cfg to fix permission issue.

My fix was specific to the compilation error "can not find Duo3DConfig.h", which was due to incorrect CMakeLists.txt and failure of dynamic reconfiguration in ROS. This assumes that you have fixed the permission problem in the first place.