为什么 ./configure 给我不存在的未满足的包?

为什么 ./configure 给我不存在的未满足的包?

我正在尝试编译驯鹿0.4.18.1Xubuntu 14.04

INSTALL文件中它说,我应该运行./configure && make && make install.

但该./configure步骤以以下内容结束:

checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/dist-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/dist-packages
checking for CARIBOU... no
configure: error: Package requirements (
  pygobject-3.0 >= 2.90.3,
  gtk+-3.0      >= 3.0.0,
  clutter-1.0   >= 1.5.11,
  gdk-3.0       >= 3.0.0,
  x11,
  atspi-2
  ) were not met:

No package 'pygobject-3.0' found
No package 'gtk+-3.0' found
No package 'clutter-1.0' found
No package 'gdk-3.0' found
No package 'atspi-2' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables CARIBOU_CFLAGS
and CARIBOU_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

尝试安装任何这些软件包都会失败,因为它们不在软件包索引中。

我在我想编译的其他一些程序中看到过这种情况,所以这似乎是我的机器的问题。

有人可以向我解释一下这个错误实际上是什么意思以及我可以采取什么措施来应对它吗?

答案1

依赖关系不是以包名称的形式表示,而是以pkg-config依赖关系的形式表示。我认为在基于 RPM 的系统上您可以直接搜索这些文件,但在基于 Debian 的系统上您需要搜索相应的文件。

为此,最简单的方法是安装apt-file,并使用以下命令更新其索引

sudo apt-file update

然后你可以使用apt-file search依赖项。在你的情况下:

apt-file search pygobject-3.0.pc
apt-file search gtk+-3.0.pc

等等。 (.pc文件包含必要的信息pkg-config。)这将告诉您需要安装的软件包分别是python-gi-devforpygobject-3.0libgtk-3-devfor gtk+-3.0;我会让你弄清楚剩下的事情。

您可以使用以下命令在线执行相同的搜索https://packages.debian.org(结果通常也适用于 Xubuntu)。

只要多做一点工作,您apt-cache search也可以使用;

apt-cache search gtk+-3.0 | grep -- -dev

应该产生适当的包名称(可能还有其他名称)。

正如所指出的K1773L,由于是caribou在Xubuntu中打包的,所以可以运行

apt-get build-dep caribou

获取构建依赖项,但这将给出打包版本的依赖项;一般来说,如果您的不同,那么您可能需要不同的依赖项。

答案2

由于 caribou 在存储库中,您只需运行即可 sudo apt-get build-dep caribou 安装所有依赖项。

相关内容