ubuntu下面make报错error 127

本文介绍了解决因未找到JAR命令而导致的错误的方法。通过创建指向已安装JDK中JAR命令的软链接,可以解决编译过程中遇到的相关问题。同样的方法也适用于处理JAVAHA和JAVADOC命令缺失的情况。

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

报错提示:

/bin/bash: jar: command not found
make: *** [out/host/common/obj/JAVA_LIBRARIES/apicheck_intermediates/javalib.jar] Error 127

 

用which命令查看,which jar ,原来是jar没有安装好,提示是jar应该安装在/usr/bin/目录下面,所以我们只要与已经安装好的jar路径建立起软链接关系。

切换到bin目录下面:

cd /usr/bin/

执行下面的命令:

 sudo ln -s -f /usr/lib/java/jdk1.6.0_20/bin/jar

 

我的JDK安装目录是 /usr/lib/java/jdk1.6.0_20。

 

同理javah,javadoc报错时分别执行

 sudo ln -s -f /usr/lib/java/jdk1.6.0_20/bin/javah

 sudo ln -s -f /usr/lib/java/jdk1.6.0_20/bin/javadoc

 


### Linux `make` 命令错误 127 的解决方案 当遇到 `make` 执行时报错 `/bin/bash: all-recursive: 未找到命令` 和 `Error 127` 时,通常是因为缺少必要的构建工具或环境变量配置不正确。以下是详细的排查和解决办法。 #### 检查自动化构建工具链是否完整安装 确保已经安装了完整的 GNU 构建工具链,特别是 automake 工具。可以通过包管理器来安装缺失的组件: 对于基于 Debian/Ubuntu 的系统: ```bash sudo apt-get update && sudo apt-get install build-essential autoconf automake libtool ``` 对于基于 RedHat/CentOS/Fedora 的系统: ```bash sudo yum groupinstall "Development Tools" sudo yum install autoconf automake libtool ``` #### 确认 Makefile 是否正常生成 如果项目依赖于自动生成 Makefile,则需先运行 configure 脚本以创建合适的 Makefile 文件[^4]。这一步骤非常重要,因为只有正确的 Makefile 存在才能让 make 正常工作。 #### 设置 PATH 变量包含所需脚本位置 有时子模块使用的辅助程序可能不在系统的默认搜索路径内。可以尝试手动指定这些可执行文件的位置或将它们所在的目录加入到当前用户的 PATH 中去。 编辑 `.bashrc` 或者其他 shell 初始化文件,在其中添加类似下面的一行(假设相关二进制位于 `/opt/custom/bin` 下): ```bash export PATH=$PATH:/opt/custom/bin ``` 接着使更改生效: ```bash source ~/.bashrc ``` #### 清理残留编译产物重试 有时候旧版本留下的临时文件可能会干扰新一次的构建过程。建议清理整个项目的对象文件后再做尝试: ```bash rm -rf ./build/* cd project_root_directory ./bootstrap.sh # 如果有的话 ./configure # 若有此步骤则必选 make clean # 清除之前的编译结果 make # 尝试再次编译 ``` 通过上述措施应该能够有效处理大部分由于环境设置不当引发的 `make` 报错情况。若问题依旧存在,请进一步检查具体项目的文档说明以及官方论坛寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值