在Ubuntu上编译软件时如何解决依赖性

时间:2020-01-09 10:45:05  来源:igfitidea点击:

在Linux上编译软件最困难的部分是找到其依赖项并进行安装。 Ubuntu具有apt命令,该命令可自动检测,查找和安装依赖项,为我们完成艰苦的工作。

最近,我们从Ubuntu上的源代码中涵盖了编译软件的基础知识,因此,如果我们刚刚开始,请查看我们的原始文章。

自动适应

当我们通过它运行./configure命令时,自动apt会监视并等待。当./configure尝试访问不存在的文件时,自动apt会将./configure进程置于保留状态,安装适当的软件包,并让./configure进程继续进行。

首先,使用以下命令安装自动apt:

sudo apt-get install auto-apt

安装完成后,运行以下命令下载自动适配所需的文件列表。此过程将花费几分钟。

sudo auto-apt update

完成第一个命令后,运行以下命令以更新其数据库。这些命令也将花费几分钟。

sudo auto-apt updatedb && sudo auto-apt update-local

完成自动apt数据库的构建后,我们可以使用以下命令启动./configure过程:

sudo auto-apt run ./configure

附件文件

如果我们看到一条错误消息,提示缺少特定文件,则可能不知道要获取该文件必须安装的软件包。使用Apt-file,我们可以使用单个命令查找包含特定文件的软件包。

首先,我们必须自己安装apt-file:

sudo apt-get install apt-file

安装后,运行以下命令从配置的apt资料库下载文件列表。这些都是大列表,因此下载它们将花费几分钟。

sudo apt-file update

运行以下命令,将example.pc替换为文件名,该命令将准确告诉我们需要安装哪个软件包:

apt-file search file example.pc

使用标准的apt-get install命令安装软件包:

sudo apt-get install package

我们也可以从Ubuntu软件包搜索网站上执行文件搜索。使用页面上的"搜索软件包内容"部分来搜索特定文件。

它会为我们提供与apt-file相同的结果,并且我们无需下载任何文件列表。

Apt-Get Build-Dep

我们在最初的文章中介绍了apt-get build-dep。如果我们要安装的程序的早期版本已经在Ubuntus软件包存储库中,则Ubuntu已经知道它所需的依赖项。

键入以下命令,用packagege的名称替换package,然后apt-get将安装所需的依赖项:

sudo apt-get build-dep package

Apt-get提示我们安装所有必需的依赖项。

如果程序的较新版本需要不同的依赖性,则可能必须手动安装一些其他的依赖性。

所有这些命令都使用apt-get,因此我们也可以在Debian,Linux Mint和任何其他使用apt-get和.deb软件包的Linux发行版中使用它们。