执行make命令时遇到127权限问题

在工程移植过程中,遇到新Ubuntu电脑执行make命令出现Error127的问题。文章分享了两种解决方案:一是尝试切换到root账户执行,但此方法不一定有效;二是通过执行chmod777-R命令对目录权限进行修改,成功解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工程移植时候,在之前的ubuntu电脑下执行make操作时是可以正常执行的,但新ubuntu电脑却遇到了127错误:

execvp: *****
make: *
[tis-vnc.o] Error 127

网上搜到解决方案有多种:
1、切换成root账户再执行(我这边不ok)
2、chmod 777 -R 目录/ (解决问题)

转载于:https://blog.51cto.com/5052416/2307320

<think>好的,我现在需要帮助用户解决在编译GDAL执行make命令导致setup.py报错的问题。首先,我需要回忆一下GDAL编译的常见问题以及可能的解决方案。根据用户提供的引用资料,特别是引用[3]和[4],编译GDAL需要注意依赖库的安装和环境变量的设置。 首先,用户可能在执行make遇到Python相关的错误,这可能是因为GDAL的Python绑定所需的依赖没有正确安装或者路径配置不正确。根据引用[3]和[4],需要确保PROJ、SQLite3等依赖库已经正确编译并安装,并且它们的头文件和库路径被正确设置。例如,在编译GDAL之前,需要先安装这些依赖,并在配置使用--with-proj和--with-sqlite3等选项指定路径。 其次,环境变量如LD_LIBRARY_PATH是否正确设置也很关键。引用[4]提到需要将/usr/local/lib添加到LD_LIBRARY_PATH中,以避免运行找不到库文件的问题。用户可能在编译过程中没有正确设置这些变量,导致setup.py找不到必要的库。 另外,用户可能在执行make后运行setup.py遇到权限问题,或者Python头文件缺失。例如,Python.h文件可能未安装,需要安装python-dev或类似包。同,确保使用正确的Python版本,尤其是在有多个Python环境的情况下。 还需要检查GDAL的配置选项是否正确,比如是否启用了Python绑定(--with-python)。如果配置未正确指定Python路径,可能导致后续编译失败。此外,用户可能需要手动指定包含目录和库目录,例如在运行setup.py使用--include-dirs和--library-dirs参数,如引用[2]中提到的。 最后,如果以上步骤都正确,用户可能需要清理之前的编译结果并重新配置、编译和安装。或者尝试使用conda安装预编译的GDAL包,如引用[5]提到的conda安装fiona,这可能绕过编译过程中的复杂问题。 总结可能的解决方案步骤:安装依赖库,设置环境变量,检查Python开发包,正确配置GDAL编译选项,手动指定路径,清理并重新编译,或者使用conda替代。需要将这些步骤有条理地呈现给用户,并确保每个步骤清晰可操作。</think>### GDAL编译中`make`命令导致`setup.py`报错解决方案 #### 1. **检查依赖库安装及路径配置** - **依赖库缺失**:GDAL编译依赖PROJ、SQLite3等库。需确保这些库已正确安装并配置路径。例如: - 编译PROJ需指定安装路径: ```bash ./configure --prefix=/usr/local/proj6 make && sudo make install ``` - 编译GDAL需通过`--with-proj`和`--with-sqlite3`指定路径: ```bash ./configure --with-proj=/usr/local/proj6 --with-sqlite3=/usr/local/sqlite3 ``` - **环境变量设置**:将依赖库的路径添加到`LD_LIBRARY_PATH`: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ``` 此操作需写入`~/.bashrc`或`~/.bash_profile`以永久生效[^4]。 #### 2. **解决Python绑定问题** - **Python开发包缺失**:若报错提示`Python.h`未找到,需安装Python开发包: ```bash # Ubuntu/Debian sudo apt-get install python3-dev # CentOS sudo yum install python3-devel ``` - **指定Python路径**:在配置GDAL,明确指定Python解释器路径: ```bash ./configure --with-python=/usr/bin/python3 ``` #### 3. **手动修复`setup.py`编译参数** 若`make`过程中`setup.py`报错(如`gdal.h`未找到): - **指定头文件和库路径**:修改`setup.cfg`或直接传递参数: ```bash python setup.py build_ext --include-dirs=/usr/include/gdal/ --library-dirs=/usr/local/lib ``` 此方法可覆盖默认搜索路径[^2]。 #### 4. **清理并重新编译** - 若此前编译失败残留文件,需彻底清理: ```bash make clean && make distclean ``` - 重新执行完整流程: ```bash ./configure [参数] && make && sudo make install ``` #### 5. **使用Conda安装替代方案** 若编译仍失败,可尝试通过Conda安装预编译的GDAL包: ```bash conda install -c conda-forge gdal ``` 此方法避免手动编译依赖问题[^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值