构建女妖:缺少依赖关系

时间:2013-04-09 03:40:39

标签: c# mono dependencies banshee

我正在尝试从源代码构建女妖。我运行了autogen.sh和输出的一些(部分):

configure: error: Package requirements (gstreamer-0.10 >= 0.10.26
    gstreamer-base-0.10 >= 0.10.26
    gstreamer-plugins-base-0.10 >= 0.10.26
    gstreamer-controller-0.10 >= 0.10.26
    gstreamer-dataprotocol-0.10 >= 0.10.26
    gstreamer-fft-0.10 >= 0.10.26) were not met:

No package 'gstreamer-0.10' found
No package 'gstreamer-base-0.10' found
No package 'gstreamer-plugins-base-0.10' found
No package 'gstreamer-controller-0.10' found
No package 'gstreamer-dataprotocol-0.10' found
No package 'gstreamer-fft-0.10' 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 GST_CFLAGS
and GST_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Error: Could not run ./configure, which is required to configure banshee

我已经运行sudo apt-get build-dep banshee,所以我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:7)

有不同类型的依赖项,构建时依赖项运行时依赖项。构建程序通常需要更多的依赖项,而不是运行它所需的程序。例如,运行程序可能需要共享库。但是,构建程序也可能需要头文件。安装banshee时,通常会安装所有运行时依赖项,但不会安装构建时依赖项。由于您正在使用apt-get,因此您应该调查需要安装哪些软件包以获得所需的构建依赖项。

您收到的错误消息来自名为pkg-config的程序。它通常用于跟踪构建依赖项。例如,某些库可能需要在不同系统上使用不同的编译器标志,因此pkg-config具有一个知道如何使用的库目录。这里Banshee的构建系统调用pkg-config以便找到使用gstreamer库的正确标志,但由于未安装gstreamer的开发文件,pkg-config将不知道如何使用它们。一旦安装了使用pkg-config的软件包的开发文件,就可以通过运行pkg-config来请求标志,例如pkg-config --cflags --libs gstreamer-0.10将返回gstreamer-0.10库的预处理器,编译器和链接标志。

pkg-config使用的文件通常名为name-of-library.pc。对于pkg-config找不到的所有软件包,请使用软件包管理器搜索gstreamer-0.10.pcgstreamer-base-0.10.pc等文件。使用apt-get的系统通常有一个名为apt-file的工具(虽然不一定默认安装),可用于向包管理器查询提供特定文件的包的名称,例如apt-file search gstreamer-0.10.pc。许多发行版(例如DebianUbuntu)也具有支持基于文件名搜索包的Web界面。

有时,您可以通过运行apt-get build-dep name-of-package来安装所需的构建依赖项。它将安装构建程序所需的包。但是,这将安装构建程序包管理器分发的程序包版本的要求。您正在构建的版本可能具有不同的依赖关系,但如果要求相同,那么通常应该为您提供所需的内容。

答案 1 :(得分:1)

显然,马库斯的答案很棒,但如果你想谈谈,答案是:sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

我现在将更新Banshee网站:done