Компиляция в 32-битном режиме в архитектуре x86_64
Я работаю на машине с архитектурой 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), что я хотел бы скомпилировать XML:: LibXML в 32-битном режиме в 64-битной архитектуре?
BR CH
1 ответ
прежде всего проверьте, установлены ли в вашей системе пакеты libxml2-devel и zlib-devel следующим образом:
$ rpm -ql libxml2-devel
$ rpm -ql zlib-devel
если какой-либо из них не был установлен, установите недостающие пакеты следующим образом:
$ yum install libxml2-devel
$ yum install zlib-devel
переустановите XML::LibXML pacak с CPAN следующим образом:
$ cpan
cpan> установить XML:: LibXML
Я надеюсь, что это будет полезно. Удачи!