Ubuntu 17.10中运行.AppImage文件出现execv错误的解决办法
解决Cura AppImage运行时的
execv error: No such file or directory问题 嘿,咱们来搞定你运行Cura AppImage时遇到的这个报错。这个问题一般是AppImage内部找不到指定的可执行文件,或者依赖项缺失导致的,一步步来排查:
1. 先解压AppImage检查内部结构
首先用--appimage-extract命令把AppImage解压出来,直接查看里面的文件和配置是否正确:
./Cura-0.0.0-master.AppImage --appimage-extract
解压后会生成squashfs-root目录,进入该目录:
cd squashfs-root
重点检查两个核心配置:
- 打开
AppRun脚本,确认最后执行的命令对应的文件路径(比如usr/bin/cura这类)是否真实存在,且该文件拥有执行权限。 - 查看目录内的
.desktop文件,确认Exec=字段里的路径和实际存在的文件完全匹配。
2. 检查二进制文件的依赖项
就算启动文件存在,也可能因为缺少系统库导致无法执行。用ldd命令检查Cura二进制文件的依赖情况:
ldd squashfs-root/usr/bin/你的Cura二进制文件名
如果输出里出现not found的条目,说明打包时没把这些依赖包含进去。你需要在cura-build的打包脚本里添加这些依赖,或者确保AppImageKit正确收集了所有必要的库文件。
3. 确认AppRun和Appimagetool的版本适配
你从AppImageKit下载的这两个工具版本,可能和cura-build的打包流程不兼容。建议换成cura-build文档推荐的AppImageKit版本,或者直接下载最新稳定版替换后,重新执行make打包试试。
4. 检查打包时的路径配置
在cura-build/build目录执行make时,要确认打包脚本里的安装路径是否正确。比如,是否把Cura的所有文件都放到了AppImage的usr/子目录下,有没有出现路径写错或者文件漏打包的情况。
5. 用AppImageRun调试获取详细日志
如果前面的方法都没解决问题,可以用appimagerun工具启动AppImage,它会输出更详细的执行日志,帮你定位具体是哪个文件找不到或者哪里出了问题:
appimagerun ./Cura-0.0.0-master.AppImage
内容的提问来源于stack exchange,提问作者veilupearl




