【问题标题】:How can I install Lib::XML on ActiveState Perl 5.20?如何在 ActiveState Perl 5.20 上安装 Lib::XML?
【发布时间】:2015-07-11 14:12:09
【问题描述】:

我正在尝试在我的 ActiveState Perl Windows 机器上安装 Lib::XML。

perl 5,版本 20,颠覆 2 (v5.20.2)

我尝试了以下方法:

C:\Users\VENKATESH>ppm install XML-LibXML
ppm install failed: Can't find any package that provides XML-LibXML

C:\Users\VENKATESH>ppm install http://theoryx5.uwinnipeg.ca/ppms/XML-LibXML.ppd
ppm install failed: 500 Can't connect to theoryx5.uwinnipeg.ca:80

如何在 Windows 上安装 Perl 软件包?

【问题讨论】:

  • ActiveState 的 ppm repo doesn't have it 用于更新版本的 Perl。因此,除非您知道另一个存储库,否则您需要编译 libxml2,然后使用 cpan XML::LibXML
  • 请将错误文本复制并粘贴到您的问题中,而不是使用屏幕截图。
  • 感谢您的编辑 :) :)

标签: windows perl activeperl


【解决方案1】:

正如其他人提到的,似乎没有针对 ActiveState Perl 5.20 的预编译 PPM。我贡献了instructions for building XML::LibXML from source on Windows。在发行版附带的README 文件中查找它们。我有一段时间没有这样做了,但我希望它们仍然有效。我将在此处复制它们,但您应该检查发行版是否有更新。

这些说明假设您已经设置好系统进行编译 使用 C 组件的模块。

首先,从http://xmlsoft.org/sources/win32/ 获取 libxml2 二进制文件 (目前也可以在http://www.zlatkovic.com/pub/libxml/ 获得)。

你需要:

iconv-VERSION.win32.zip
libxml2-VERSION.win32.zip
zlib-VERSION.win32.zip

下载每个的最新版本。 (每个包可能会有一个 不同的版本。)当你提取它们时,你会得到名为的目录 iconv-VERSION.win32、libxml2-VERSION.win32 和 zlib-VERSION.win32,每个 包含 bin、lib 和 include 目录。

合并c:\Prog\LibXML 下的所有bin、include 和lib 目录。 (你 可以使用您喜欢的任何目录;只需相应地调整说明。)

从 CPAN 获取最新版本的 XML-LibXML。提取它。

在 XML-LibXML-VERSION 目录中发出这些命令:

perl Makefile.PL INC=-Ic:\Prog\LibXML\include LIBS=-Lc:\Prog\LibXML\lib
nmake
copy c:\Prog\LibXML\bin\*.dll blib\arch\auto\XML\LibXML
nmake test
nmake install

(注意:有些系统使用dmake 而不是nmake。)

通过将libxml2 DLL 复制到arch 目录,有助于避免冲突 与您可能安装的其他程序一起使用其他程序(可能 不兼容)这些 DLL 的版本。

【讨论】:

  • 我正在使用 Win64bit。我在哪里可以找到 x64 的 zip 文件??
  • @VENKATESH,你试过64bit directory吗?但最重要的是 Perl 的版本。您可以在 Win64 上安装 32 位 Perl,在这种情况下,您需要 32 位 libxml。
  • > 从 CPAN 获取最新版本的 XML-LibXML。提取它。 => 我在这里找不到任何 zip 文件或 7z 文件
  • @VENKATESH,没有。您需要找到一个可以提取.tar.gz 文件的实用程序。我相信7-Zip 会做到的。
  • E:\work\perlWork\XML-LibXML-2.0121>perl Makefile.PL INC=-Ic:\Prog\LibXML\include LIBS=-Lc:\Prog\LibXML\lib 启用本机 perl UTF8 检查与 xml2 链接的能力...否 检查与 libxml2 链接的能力...未找到 libxml2、zlib 和/或数学库 (-lm)。尝试在命令行上设置 LIBS 和 INC 值或从xmlsoft.org 获取 libxml2 如果您通过 RPM 安装,请确保您还安装了 -devel RPM,因为这是头文件(.h 文件)所在的位置。
【解决方案2】:

正如ikegami 提到的,XML-LibXML 可用于 perl 5.16 和更高版本。

ppm install XML-LibXML

【讨论】:

    【解决方案3】:

    您可以将cpan 实用程序与 ActiveState 的 Perl 一起使用。

    > cpan XML::LibXML
    

    【讨论】:

    • 未找到库 (-lm)。尝试在命令行上设置 LIBS 和 INC 值或从xmlsoft.org 获取 libxml2 如果您通过 RPM 安装,请确保您还安装了 -devel RPM,因为这是头文件(.h 文件)所在的位置。此外,您可以尝试使用 DEBUG=1 参数运行 perl Makefile.PL,以查看 libxml2 安装检测失败或 Makefile.PL 无法编译测试程序的确切原因。没有创建“Makefile” SHLOMIF/XML-LibXML-2.0119.tar.gz C:\Perl64\bin\perl.exe Makefile.PL INSTALLDIRS=site -- 不行
    • 从 ActiveState 的网站试用 x86 版本
    猜你喜欢
    • 1970-01-01
    • 2010-11-13
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 2020-11-21
    • 1970-01-01
    • 2015-06-27
    相关资源
    最近更新 更多