20

这是安装的标准输出:

$sudo cpanm XML::LibXML
--> Working on XML::LibXML
Fetching http://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0014.tar.gz ... OK
Configuring XML-LibXML-2.0014 ... N/A
! Configure failed for XML-LibXML-2.0014. See /home/kahmed/.cpanm/build.log for details.

细节:

Unpacking XML-LibXML-2.0014.tar.gz
Entering XML-LibXML-2.0014
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.55_02)
Configuring XML-LibXML-2.0014
Running Makefile.PL
enable native perl UTF8
running xml2-config...ok (2.9.0)
Checking for ability to link against xml2...no
Checking for ability to link against libxml2...libxml2, zlib, and/or the Math library (-lm) have not been found.
Try setting LIBS and INC values on the command line
Or get libxml2 from
  http://xmlsoft.org/
If you install via RPMs, make sure you also install the -devel
RPMs, as this is where the headers (.h files) are.

Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter
to see the exact reason why the detection of libxml2 installation
failed or why Makefile.PL was not able to compile a test program.
-> N/A
-> FAIL Configure failed for XML-LibXML-2.0014. See /home/kahmed/.cpanm/build.log for details.

我尝试手动安装 libxml2,但仍然遇到同样的问题。

另外,我检查了 libxml2-dev:

 sudo apt-get install libxml2-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libxml2-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.

这是系统信息:

 lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty

uname -a Linux autobot 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

4

4 回答 4

35

我认为相关的行是:

Checking for ability to link against libxml2...libxml2, zlib, and/or the Math library (-lm) have not been found.

因此,您已经了解了 libxml。你是否安装了合适的 zlib 包?尝试:

sudo apt-get install zlib1g-dev

然后再次尝试安装 XML::LibXML。

于 2012-12-20T04:34:21.663 回答
26

你为什么要为此使用 CPAN?如果您有标准操作系统安装程序提供的本机软件包,那么安装 CPAN 软件包通常是非常糟糕的主意。

Ubuntu 原生提供了很多 Perl 包,命名约定如下:包名总是以 开头lib,然后 Perl 包名 likeXML::LibXML转换为小写::替换为破折号-XML::LibXML=> xml-libxml),最后-perl加上后缀。换句话说,本机包名称XML::LibXMLlibxml-libxml-perl.

因此,在您的情况下,您只需运行此命令,它将自动提取所有必要的依赖项:

sudo apt-get install libxml-libxml-perl

如果您出于任何原因不喜欢此软件包,您可以使用sudo apt-get remove. 如果您使用 CPAN,则很难可靠地卸载它。

于 2012-12-20T05:12:18.740 回答
4

忽略了明显的:

sudo apt-get install --reinstall zlibc zlib1g zlib1g-dev

然后:

sudo cpanm XML::LibXML

作品!

于 2012-12-20T04:33:44.487 回答
0

也许这是新版本。我做了:

sudo apt-get install libxml2-dev

此模块构建并安装成功后

于 2018-05-31T12:22:58.377 回答