构建女妖:缺少依赖关系

Gil*_*man 1 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
Run Code Online (Sandbox Code Playgroud)

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

小智 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.用你的包管理器来搜索文件,如gstreamer-0.10.pc,gstreamer-base-0.10.pc等为pkg配置无法找到所有的软件包.使用apt-get的系统通常有一个名为apt-file的工具(虽然不一定默认安装),该工具可用于查询包管理器以获取提供特定文件的包的名称apt-file search gstreamer-0.10.pc.许多发行版(如DebianUbuntu)也具有支持基于文件名搜索包的Web界面.

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