1

我在 x86_64 架构的机器上运行,32 位编译的 Perl 5.8.4。当我尝试安装 XML::LibXML 时,我收到以下调试消息:

……

# Running under perl version 5.008004 for linux

# Current time local: Fri Oct  7 08:43:24 2011
# Current time GMT:   Fri Oct  7 06:43:24 2011
# Using Test.pm version 1.25
Can't load 'blib/arch/auto/Conftest/Conftest.so' for module Conftest: blib/arch/auto/Conftest/Conftest.so: wrong ELF class: ELFCLASS64 at /app/perl/.sys/i386_linux24/5.8.4/lib/5.8.4/i686-lin
ux-thread-multi/DynaLoader.pm line 230.
 at test.pl line 2
Compilation failed in require at test.pl line 2.
BEGIN failed--compilation aborted at test.pl line 2.
not ok 1
# Failed test 1 in test.pl at line 1
#  test.pl line 1 is: use Test; BEGIN { plan tests => 1; } END { ok($loaded) }
make: *** [test_dynamic] Error 255
system call to 'make test 'OTHERLDFLAGS='' failed at Makefile.PL line 495.
no
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.

所以问题是,如何在 .cpan 属性(或 Makefile.PL)中描述我想在 64 位架构中以 32 位模式编译 XML::LibXML?

溴化氢

4

1 回答 1

1
  1. 首先,检查您的系统上是否安装了 libxml2-devel 和 zlib-devel 软件包,如下所示:

    $ rpm -ql libxml2-devel

    $ rpm -ql zlib-devel

  2. 如果未安装其中任何一个,请按以下方式安装缺少的软件包:

    $ yum 安装 libxml2-devel

    $ yum install zlib-devel

  3. 使用 CPAN 重新安装 XML::LibXML pacak,如下所示:

    $cpan

    cpan> 安装 XML::LibXML

我希望这会有所帮助。祝你好运!

于 2012-04-18T14:07:30.027 回答