0

我正在尝试编译,libgphoto2 与 libxml2 支持遵循此处的指南。在我尝试运行 ./configure 之前一切正常:

./configure --prefix=/tmp/gphoto2/local --with-libxml2=yes

在我看来这是一个正确的语法,但是我得到了一个输出:

LIBXML2 支持 Olympus ..:否

我已经在 2 个不同的系统(LinuxMint 11 x64 和 Ubuntu 13.04)中检查了这一点,我发现了同样的问题。

  • 谁能给我一个线索或解决方案?
  • 语法有问题吗?
  • configure --with-PACKAGE[=yes] 选项是否存在常见问题?
  • 编译中使用的 LIBXML2 是否存在常见问题?

谢谢你的帮助!

4

3 回答 3

3

这个问题出现在 Debian Wheezy (Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux) 和最新的 libgphoto2 版本 2.5.2

已安装 libxml2-dev 包:-
包:libxml2-dev
状态:已安装
自动安装:否
多架构:相同
版本:2.8.0+dfsg1-7+nmu1

不完全熟悉配置脚本,但 configure.ac 文件有一行:-
AC_CHECK_HEADER(libxml/parser.h,[
我假设它寻找 libmxl/parser.h

libxml2-dev 包提供文件
/usr/include/libxml2/libxml/parser.h

看起来 libgphoto2 是为不同地方的 libxml2 库设计的
尝试了各种解决方案,但只有以下方法有效

作为 root 我将 libxml2 链接到 libgphoto2 正在寻找的位置

ln -s /usr/include/libxml2/libxml /usr/include/libxml

编译 libgphoto2 和 gphoto2 后,这使 gphoto2 可以与我的 Olympus E-510 对话

gphoto sourceforge 网站 ( https://sourceforge.net/p/gphoto/bugs/953/ ) 上提出的错误,并提供了补丁修复

于 2013-05-11T23:19:01.253 回答
2

刚刚找到了另一种方法。谢谢你的帮助。

在挖掘 ./configure 工具后创建的 config.log 文件后,我发现了 libxml2 错误(我错误地应该停止配置脚本):

conftest.c:75:27: fatal error: libxml/parser.h: No such file or directory

但我知道它在那里,但找不到它!所以我检查了它并在下面找到它

/usr/lib

并在其他地方发现 libxml2 包附带一个脚本(xml2-config)来提供库链接信息等等:

$ xml2-config --cflags
-I/usr/include/libxml2

并且只需要在配置时将输出添加到 CFLAGS 环境变量中:

$ CFLAGS="-I/usr/include/libxml2" ./configure --prefix=/tmp/gphoto2/local --with-libxml2=yes

其他一切都很好!

于 2013-05-12T07:16:54.410 回答
1

通常,一个--with-some-package=yes选项会检查some-package系统上是否存在头文件。如果它没有找到所需的头文件,那么它仍然向终端输出“no”。您是否安装了您的发行版libxml2-devel(或类似名称)的软件包?

于 2013-05-10T20:53:59.020 回答