由于 TAGLIB 问题,无法编译 XBMC 12

由于 TAGLIB 问题,无法编译 XBMC 12

我正在尝试在 CentOS 6 x64 上编译最新版本的 XBMC,但./configure我得到:

checking for TAGLIB... no
configure: error: Could not find a required library. Please see the README for your platform.

我尝试编译 XBMC 附带的 taglib 并从 github 下载最新版本。两者都编译得很好,但错误仍然存​​在

[root@xbmc xbmc]# find /usr -name libtag*
/usr/local/lib/libtag.a
/usr/local/lib/libtag.so
/usr/local/lib/libtag_c.so.0
/usr/local/lib/libtag.so.1.12.0
/usr/local/lib/libtag.so.1
/usr/local/lib/libtag_c.so
/usr/local/lib/libtag_c.a
/usr/local/lib/libtag_c.so.0.0.0
/usr/lib64/libtag.so
/usr/lib64/libtag_c.so.0
/usr/lib64/libtag.so.1
/usr/lib64/libtag.so.1.6.1
/usr/lib64/libtag_c.so
/usr/lib64/libtag_c.so.0.0.0
/usr/lib/libtag.so
/usr/lib/libtag_c.so.0
/usr/lib/libtag.so.1.12.0
/usr/lib/libtag.so.1
/usr/lib/libtag_c.so
/usr/lib/libtag_c.so.0.0.0

有什么想法如何解决这个问题吗?

更新
@slm

Package taglib-devel-1.6.1-1.1.el6.x86_64 already installed and latest version

这些是配置有关 taglib 的帮助列表的唯一选项:

 TAGLIB_CFLAGS  C compiler flags for TAGLIB, overriding pkg-config
 TAGLIB_LIBS linker flags for TAGLIB, overriding pkg-config

答案1

  1. 删除通过 yum 安装的“taglib 1.6”。
  2. taglib从 Github编译并安装在/usr.

    cmake -DCMAKE_INSTALL_PREFIX=/usr/
    
  3. configure通过更改ac_status=$?ac_status=0非零长度$TAGLIB_LIBS和的测试来编辑 xbmc脚本$TAGLIB_CFLAGS

    if test -n "$TAGLIB_CFLAGS"; then
      ac_status=0
    if test -n "$TAGLIB_LIBS"; then
      ac_status=0
    

答案2

你有吗标签库标签库开发安装了库。您通常需要-开发库以便针对它进行编译。

% yum search taglib
taglib.x86_64 : Audio Meta-Data Library
taglib-devel.x86_64 : Header files, libraries and development documentation for taglib.

像这样安装:

% yum install taglib-devel

另请注意标签库安装在/usr/local.根据您的系统,此区域可能不在应用程序查找它的路径上,因此configure您用来构建makefilesfor xbmc 的命令可能需要您使用某种--taglib=...类型的开关指定此位置。

configure --help在为特定值构建 xbmc 时,请检查以获取更多信息。

答案3

我也遇到过同样的问题,问题出在 tag-lib 版本上。你有 1.6,它需要 1.8。 (检查配置日志)。我无法给你一个解决方案,因为我没有尝试任何东西,但是“也许”,改变 tag-lib 版本要求可以解决编译问题(不确定是否真的需要 1.8。一些 XBMC 开发人员应该回答这个问题。)

答案4

就我而言,我使用的是 Centos 7,问题肯定是 taglib 的版本。

在配置文件中我们有这样的内容。

pkg-config --exists --print-errors "taglib >= 1.9"

哪个给我

Requested 'taglib >= 1.9' but version of TagLib is 1.8.0

在配置脚本中手动将所有 1.9 要求更改为 1.8 使其通过。

但请注意,如果 1.9 版本是预期的,那么它们应该是很好的理由,所以这可能会打破其他地方的代码和平。

相关内容