automake配置忽略选项--with-libxml2 = yes

时间:2013-05-10 14:28:28

标签: gcc makefile autotools autoconf automake

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

  

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

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

  

LIBXML2支持奥林巴斯..:没有

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

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

感谢您的帮助!

3 个答案:

答案 0 :(得分: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我sym将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/)上出现了错误,并提供了补丁修复

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

在深入了解./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

其他一切都很好!