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/