perl - 如何在没有 expat-devel 的情况下安装 XML::Parser?

标签 perl debian cpan expat-parser

XML::Parser 无法在全新的 64 位 Debian 机器上构建。发出 cpan XML::Parser 后,cpan 失败,并出现许多有关 Expat.c 和 Expat.xs 的错误:

[...]
Expat.xs:2182: error: ‘CallbackVector’ has no member named ‘skip_until’
Expat.c: In function ‘XS_XML__Parser__Expat_Do_External_Parse’:
Expat.c:2904: error: ‘XML_Parser’ undeclared (first use in this function)
Expat.c:2904: error: expected ‘;’ before ‘parser’
Expat.xs:2194: error: ‘parser’ undeclared (first use in this function)
make[1]: *** [Expat.o] Error 1
make[1]: Leaving directory `/root/.cpan/build/XML-Parser-2.41-rpV6ok/Expat'
make: *** [subdirs] Error 2
  TODDR/XML-Parser-2.41.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible

输出开头的消息解释了构建需要expat-devel

Expat must be installed prior to building XML::Parser and I can't find it in the standard library directories. Install 'expat-devel' package with your OS package manager. See 'README'.

但是expat-devel不在Debian存储库中。

是否可以克服这个问题,而无需从源代码构建/安装 expat?

最佳答案

您要安装的软件包名为libexpat1-dev。您也可以通过 apt-get 安装 libxml-parser-perl。或者,如果您确实想通过 CPAN 安装,请首先尝试通过 apt-get build-dep libxml-parser-perl 安装 Debian 软件包依赖项。

关于perl - 如何在没有 expat-devel 的情况下安装 XML::Parser?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693031/

相关文章:

xml - 415 不支持的媒体类型 HTTP

perl - Perl 中 foreach 循环的默认范围是什么?

ubuntu - 如何使用 .deb 包自动安装相关包?

sql - 在数据库中存储数据库引用

perl - 是否有一个 Perl 模块来监控电子邮件队列?

windows - 在 Perl 中读取 Windows 注册表

perl - @INC hook 未知 fatal error

linux - 当端口意外更改为超过 65535 时,如何通过 ssh 连接到服务器?

perl - PDF::API2 中的换行符和行距

perl - SSH 与 Perl 使用文件句柄,而不是 Net::SSH