Open 447425299 opened 7 years ago
can not find Duo3DConfig.h
@447425299 Try #3 and see whether it works for you.
This worked for me.
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.
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.
can not find Duo3DConfig.h