Ubuntu编译OpenWRT 15.05提示"Build dependency:Please install the xxx"

本文详细介绍了在Ubuntu18.04.1环境下编译OpenWrtChaosCalmer过程中遇到的各种依赖问题及解决方案,包括gcc、g++、ocaml、libncurses.so、libz.so、openssl库、Python2、subversion、git等关键组件的安装与配置。

在Ubuntu 18.04.1上编译OpenWrt Chaos Calmer的时候碰到了以下问题,记录一下。

Build dependency: Please install the GNU C Compiler (gcc)
Build dependency: Please reinstall the GNU C Compiler - it appears to be broken
Build dependency: Please install the GNU C++ Compiler (g++)
Build dependency: Please reinstall the GNU C++ Compiler - it appears to be broken
Build dependency: Please install the Objective Caml compiler (ocaml-nox) v3.12 or later
Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
Build dependency: Please install zlib. (Missing libz.so or zlib.h)
Build dependency: Please install the openssl library (with development headers)
Build dependency: Please install Python 2.x
Build dependency: Please install the Subversion client
Build dependency: Please install Git (git-core) >= 1.6.5

如果有碰到提示 - Unable to locate package xxx
请先参考https://blog.youkuaiyun.com/xiangxianghehe/article/details/80112149
把源换成国内源


Build dependency: Please install the GNU C Compiler (gcc)
Build dependency: Please reinstall the GNU C Compiler - it appears to be broken
原因
缺少gcc编译器
解决方法
安装gcc编译器
$ sudo apt-get install gcc

Build dependency: Please install the GNU C++ Compiler (g++)
Build dependency: Please reinstall the GNU C++ Compiler - it appears to be broken
原因
缺少g++编译器
解决方法
安装g++编译器
$ sudo apt-get install g++

Build dependency: Please install the Objective Caml compiler (ocaml-nox) v3.12 or later
原因
缺少ocaml编译器
解决方法
安装ocaml编译器
$ sudo apt-get install ocaml

注:此处用Ubuntu原来的源会碰到错误提示“Unable to locate package ocaml”,更换为阿里云后正常安装


Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
原因
缺少libncurses.so
解决方法
安装libncurses.so
$ sudo apt-get install libncurses5-dev

Build dependency: Please install zlib. (Missing libz.so or zlib.h)
原因
缺少libz.so
解决方法
安装libz.so
$ sudo apt-get install zlib1g-dev

Please install the openssl library (with development headers)
原因
缺少openssl库
解决方法
安装openssl库
$ sudo apt-get install libssl-dev

Build dependency: Please install Python 2.x
原因
缺少Python 2
解决方法
安装Python 2
$ sudo apt-get install python

Build dependency: Please install the Subversion client
原因
缺少subversion
解决方法
安装subversion
$ sudo apt-get install subversion

Build dependency: Please install Git (git-core) >= 1.6.5
原因一
缺少git
解决方法
安装git
$ sudo apt-get install git

注:如果已经安装git但是仍然收到该错误提示,请参考原因二,如果没有请忽略原因二。

原因二
已经安装git,但是版本是2.x
查看git版本
$ git --version
git version 2.17.1

由于对git版本的检测方式有缺陷导致,OpenWRT已经在
2016-03-05 21:07提交(4c80909fa141fe2921c62bd17b2b04153031df18)中修复该问题

解决方法
请参考 https://github.com/openwrt/openwrt/commit/4c80909fa141fe2921c62bd17b2b04153031df18
修改文件 include/prereq-build.mk 中git版本的判断命令。
我这里的判断命令依然是 git clone 2>&1 | grep – –recursive))
将其修改为 git –exec-path | xargs -I % – grep -q – –recursive %/git-submodule))
$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \
-   git clone 2>&1 | grep -- --recursive))
+   git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule))
<think>首先,用户的问题是关于解决“Build dependency: Please install the Subversion client”错误。用户提供了多个引用,我需要从中提取相关信息。 回顾引用: - 引用[1]:提到了错误提示Build dependency: Please install the Subversion client”。 - 引用[2]:详细解释了各种构建依赖错误,包括Subversion客户端的解决方法:安装subversion,命令是“sudo apt-get install subversion”。 - 引用[3]:是关于Subversion的编译步骤,但用户的问题是关于安装Subversion客户端,而不是编译它。 - 引用[4]:似乎是构建日志的一部分,没有直接相关信息。 用户的问题集中在Subversion客户端缺失上。所以,核心解决方案是安装Subversion客户端。 系统级指令: - 所有行内数学表达式必须使用$...$格式。但在这个问题中,可能没有数学表达式,所以不需要。 - 独立公式使用$$...$$格式并单独成段。同样,可能不适用。 - LaTeX语法正确:确保任何数学内容正确。 - 使用中文回答:整个回答必须是中文。 - 生成相关问题:在回答后添加相关问题。 - 回答中引用的段落末尾添加引用标识:如[^1]。 用户可见层: - 回答结构清晰,逐步解决问题。 - 保证真实可靠:基于提供的引用,特别是引用[2],它直接给出了解决方案。 结构回答: 1. **理解问题**:解释错误的原因。 2. **解决方法**:提供安装命令。 3. **验证安装**:建议检查安装是否成功。 4. **相关问题**:生成相关问题。 基于引用[2]: - 原因:缺少subversion。 - 解决方法:安装subversion,使用命令“sudo apt-get install subversion”。 在回答中,引用引用[2]作为来源。 最终回答大纲: - 开头:简述错误。 - 原因:解释为什么需要Subversion客户端。 - 解决步骤:给出安装命令。 - 结尾:确认安装。 - 相关问题:生成2-3个相关问题。 生成相关问题: 1. 如何验证Subversion客户端是否安装成功? 2. Subversion客户端在软件开发中的常见用途是什么? 3. 如果安装后仍然出现错误,该如何解决? 确保回答真实可靠:基于引用[2],命令是“sudo apt-get install subversion”。</think>### 解决“Build dependency: Please install the Subversion client”错误 在软件开发或编译过程中,出现“Build dependency: Please install the Subversion client”错误,通常是因为系统缺少Subversion(SVN)客户端工具。Subversion是一个版本控制系统,用于管理源代码的变更,许多构建工具(如`make`或编译脚本)依赖它来获取或更新代码库。以下是逐步解决方法,基于常见Linux发行版(如Ubuntu)的操作。整个过程简单可靠,只需几个命令即可完成。 #### 错误原因 - **核心问题**:构建系统需要Subversion客户端来执行版本控制操作(如检出代码或更新仓库),但您的系统未安装该工具[^2]。 - **常见场景**:此错误常在编译软件(如OpenWrt SDK或Apache Subversion自身)时出现,尤其是在使用`make`或`configure`脚本初始化项目时[^1][^4]。 #### 解决方法 按照以下步骤安装Subversion客户端: 1. **更新软件包列表**: 在终端中运行以下命令,确保软件源信息是最新的: ```bash sudo apt-get update ``` 2. **安装Subversion客户端**: 执行安装命令,这会自动下载并配置Subversion及相关依赖: ```bash sudo apt-get install subversion ``` - 此命令会安装`svn`命令行工具,满足构建系统的依赖要求[^2]。 3. **验证安装是否成功**: 安装完成后,检查Subversion版本以确认安装正确: ```bash svn --version ``` - 如果输出类似“svn, version 1.14.1”的信息,表示安装成功。 4. **重新运行构建命令**: 返回到原始构建目录(例如OpenWrt SDK或项目源码目录),重新执行构建命令(如`make`或`configure`): ```bash make menuconfig # 或其他初始命令 ``` - 此时,Subversion依赖错误应已解决[^1]。 #### 注意事项 - **系统兼容性**:以上方法适用于基于Debian/Ubuntu的Linux发行版。如果您使用其他系统(如CentOS),命令可能不同(例如`sudo yum install subversion`)。 - **依赖完整性**:如果同时出现其他依赖错误(如缺少OpenSSL或zlib),需一并解决。引用[2]中提供了完整指南,例如安装`libssl-dev`或`zlib1g-dev`[^2]。 - **网络问题**:安装过程中若遇到包下载失败,建议检查网络或更换软件源(如使用阿里云镜像源)[^2]。 通过以上步骤,错误应被修复。如果问题依旧,请检查构建日志或提供更多上下文以进一步诊断。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值