2011-10-07 60 views
1

我運行在具有x86_64體系結構的計算機上,使用32位編譯的Perl 5.8.4。當我嘗試安裝XML ::的libxml我得到下面的調試消息:在x86_64體系結構中編譯爲32位模式

... ...

# 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?

BR CH

+0

我想你正在使用你的系統安裝的linux。您可能想要嘗試安裝自己的XML :: LibXML包。否則,5.8.4很舊(Perl現在是5.14.X),所以你可能想升級Perl並重新開始。 – Alex

+0

用於編譯Perl本身的相同設置應該用於編譯XML :: LibXML,所以字面問題相當令人困惑。 – ikegami

+1

我猜測它*正在做一個使用32位編譯器和正確標誌的非常好的工作 - 唯一的問題是你沒有32位的libxml2。 – hobbs

回答

1
  1. 首先,檢查的libxml2-devel的和zlib-devel包是否被安裝在系統上如下:

    $轉-ql的libxml2-devel的

    $ rpm -ql zlib-devel

  2. 如果沒有安裝它們,請按照以下步驟安裝缺失的軟件包:

    $百勝安裝的libxml2-devel的

    $百勝安裝的zlib-devel的

  3. 重新安裝XML ::的libxml pacak與CPAN如下:

    $ CPAN

    CPAN>安裝XML :: LibXML

我希望這會有所幫助。 祝你好運!

相關問題