Linux系统make编译报错:/bin/bash: gcc:未找到命令

使用make命令编译c源代码时,报错没有gcc指令。

使用whereis gcc命令,查找当前gcc在哪里,得到的结果是:

gcc: usr/lib/gcc

说明gcc并没有正确存在

终端运行:sudo apt-get inatall gcc,安装gcc后,再次使用whereis gcc命令:

gcc: /usr/bin/gcc /usr /lib/gcc /usr/share/man/man1/gcc.1.gz

此时如果还没有gcc指令,可能是PATH没有设置好,可以参考这篇博客:https://www.cnblogs.com/yaoqingzhuan/p/10889718.html

将路径/usr/bin加入PATH即可。

<think> 我们正在解决用户在配置SOX源码时出现的错误:`configure: error: /bin/bash ./config.sub failed` 这个错误通常发生在运行`./configure`脚本时,系统无法正确处理`config.sub`脚本。`config.sub`是GNU构建系统的一部分,用于解析和规范化系统类型(如CPU-厂商-操作系统三元组)。 根据错误信息,问题可能出在: 1. 脚本文件`config.sub`缺失或损坏 2. 脚本执行权限不足 3. 系统环境问题(如使用了不兼容的shell) 结合引用[1]中的警告信息,我们注意到用户可能是在Android NDK交叉编译环境下操作,但当前错误与交叉编译工具链无关,而是基础配置脚本的问题。 解决方案步骤: 步骤1:确保文件存在且完整 检查源码目录中是否存在`config.sub`文件(通常位于根目录)。如果不存在,可能是源码包不完整,建议重新下载或使用git克隆。 步骤2:修复文件权限 即使文件存在,也可能没有可执行权限。在终端运行: ```bash chmod +x config.sub ``` 步骤3:手动更新GNU配置脚本 如果上述步骤无效,可能是`config.sub`和`config.guess`脚本过旧。我们可以从GNU官方获取最新版本: 1. 下载最新的`config.sub`和`config.guess`(可从以下任一镜像获取): - https://git.savannah.gnu.org/cgit/config.git/plain/config.sub - https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 2. 覆盖源码目录中的旧文件 3. 重新运行`chmod +x config.sub config.guess` 步骤4:重新生成配置脚本 如果源码是通过git克隆获取的,应使用autotools重新生成配置脚本: ```bash autoreconf -i ``` 注意:运行`autoreconf`需要安装autoconf和automake工具。 步骤5:检查shell兼容性 确保`/bin/bash`确实存在且可用。如果系统默认bash路径不同,可以尝试: ```bash ./configure CONFIG_SHELL=/path/to/bash ``` 针对Android交叉编译环境,用户可能还需要设置正确的环境变量(如CC, CXX等),但当前错误与交叉编译设置无关,先解决配置脚本问题。 如果用户按照以上步骤操作后仍然失败,请提供更详细的错误日志。 注意:引用[1]中提到的NDK工具链问题(pkg-config缺失)与当前错误无关,但可能在后续步骤中出现,可暂时忽略。 下面我们生成相关问题: </think> ### SOX配置报错 `/bin/bash ./config.sub failed` 的解决方法 此错误通常由 **配置脚本不完整** 或 **环境不兼容** 引起,可通过以下步骤解决: #### 📝 解决方案步骤: 1. **修复配置脚本** ```bash # 重新生成配置脚本(需安装 autoconf) autoreconf -ivf ``` 此命令重建 `configure` 脚本和相关文件(如 `config.sub`)[^1]。 2. **设置正确的 Shell 路径** ```bash # 检查 bash 实际路径 which bash # 结果可能是 /usr/bin/bash,则修改配置命令: CONFIG_SHELL=/usr/bin/bash ./configure ``` 3. **手动更新 config.sub** - 下载最新版 `config.sub`: ```bash wget -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' ``` - 赋予执行权限: ```bash chmod +x config.sub ``` 4. **检查环境依赖** ```bash # 验证基础工具链 bash --version # 需 4.0+ autoconf --version make --version ``` #### ️ 注意事项: 1. **交叉编译场景**(如 Android NDK): - 确保 `config.sub` 支持目标架构(如 `arm-linux-androideabi`) - 设置环境变量: ```bash export CC=arm-linux-androideabi-gcc export CXX=arm-linux-androideabi-g++ ``` 2. **源码完整性检查**: ```bash # 确保 config.sub 存在 ls -l config.sub # 文件应 >20KB,若过小需重新下载源码 ``` > 引用[1]中提到的 `pkg-config` 缺失警告通常不影响此错误解决[^1],但建议后续通过 `apt-get install pkg-config` 修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值