【问题标题】:Linux software installation - override version of library in ./configureLinux 软件安装 - 覆盖 ./configure 中的库版本
【发布时间】:2014-01-22 17:00:05
【问题描述】:

我正在尝试在 Linux 计算机上安装软件 TinyOWS。源代码是用 C 编程语言编写的。我没有太多在 Linux 上从源代码安装 C 或 C++ 程序的经验。我阅读了安装说明,它说我必须在解压缩源代码文件夹后执行 3 个步骤:

./configure
make
make install

当我运行 ./configure 时,我收到以下错误:

checking for xml2-config... /usr/bin/xml2-config
checking for libxml2 version... 2.7.6
configure: error: You need at least libxml 2.8.0

这意味着正在安装的软件需要名为 libxml2 的库的 2.8.0 版本,但我的计算机只有 2.7.6 版本。不幸的是,我发现我无法在我的 Linux 发行版上轻松安装 libxml 2.8.0。我尝试安装的软件 TinyOWS 需要库的 libxml2.8.0 的原因是因为 libxml2.7.6 有一个小错误。但是该软件的大部分功能不受该错误的影响。

所以,这是我的问题: 如果我希望 ./configure 命令使用库 libxml2.7.6 而不是 libxml2.8.0,我必须编辑哪些文件或需要使用哪些命令行选项?

【问题讨论】:

    标签: linux installation dependencies gnu-make configure


    【解决方案1】:

    获取source,在文件configure.in中替换行:

    AC_MSG_ERROR([You need at least libxml 2.8.0])
    

    AC_MSG_NOTICE([You need at least libxml 2.8.0])
    

    然后,做:

    autoreconf -f -i -s
    ./configure
    make
    

    configure 步骤不会停止。但我认为,如果开发者限制了libxml2 的这个版本,那一定是有充分理由的。

    【讨论】:

    • 建议的步骤奏效了,我成功编译并安装了 TinyOWS 软件。现在为了让软件 100% 正确运行,我想我会尝试 apply a patch 到我当前版本的 libxml2.7.6。
    猜你喜欢
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2016-09-28
    • 2011-12-12
    • 2013-04-22
    • 2011-02-09
    相关资源
    最近更新 更多