写在前面:
文章转载自
ROS 编译时cfg: Permission denied 问题 https://blog.csdn.net/qq_37868450/article/details/78894576
ROS 编译时出现cfg: Permission denied 问题
参考:https://answers.ros.org/question/252836/cfg-permission-denied-while-building-workspace/
一、ROS编译时出现的报错信息:
../../catkin_generated/env_cached.sh: 16: exec: /home/wong/test2_ws/src/navigation/amcl/cfg/AMCL.cfg: Permission denied
navigation/amcl/CMakeFiles/amcl_gencfg.dir/build.make:63: recipe for target '/home/wong/test2_ws/devel/include/amcl/AMCLConfig.h' failed
make[2]: *** [/home/wong/test2_ws/devel/include/amcl/AMCLConfig.h] Error 126
CMakeFiles/Makefile2:4432: recipe for target 'navigation/amcl/CMakeFiles/amcl_gencfg.dir/all' failed
make[1]: *** [navigation/amcl/CMakeFiles/amcl_gencfg.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
二、解决方法:
- 首先查看有没有执行权限
ls -al /home/wong/test2_ws/src/navigation/amcl/cfg/AMCL.cfg # 查看是否有执行位 x,若没有则使用
- 添加执行权限:
chmod +x /home/wong/test2_ws/src/navigation/amcl/cfg/AMCL.cfg
即可。
如果在文件夹及其子文件夹中包含多个需要添加执行的文件,可以使用下面的指令来给该文件夹下的所有文件添加权限
chmod -R +x 文件夹
参数-R是递归的意思
参考链接:
[1] ROS 编译时cfg: Permission denied 问题 https://blog.csdn.net/qq_37868450/article/details/78894576
[2] Linux 给文件夹或者文件增加权限 https://www.cnblogs.com/anloveslife/p/8719693.html