общий модуль установки Perl - PullRequest
2 голосов
/ 02 июня 2011

В моем общем хостинге отсутствуют два модуля Perl, необходимые для скриптов Amazon SES. Это:

Дайджест :: SHA и XML :: LibXML

Я скачал Digest :: SHA с здесь и XML :: LibXML с здесь

Извлечено и загружено LibXML.pm и SHA.pm в мой обычный каталог (my_perl_lib).

Я добавил:

use lib "/var/chroot/home/content/09/6758009/html/my_perl_lib";

ко второй строке скрипта Perl.

Я получаю это:

Can't locate XML/LibXML.pm in @INC (@INC contains: /var/chroot/home/content/09/6758009
/html/my_perl_lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5
/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-
 thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8
/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at ./ses-get-stats.pl line 24.
BEGIN failed--compilation aborted at ./ses-get-stats.pl line 24.

Пожалуйста, сообщите.

Обновлен:

спасибо, я создал каталог, ошибка исчезла, но я столкнулся с другим:

Can't locate loadable object for module XML::LibXML in @INC (@INC contains: /var/chroot
/home/content/09/6758009/html/my_perl_lib .......) at /var/chroot/home/content/09/6758009
/html/my_perl_lib/XML/LibXML.pm line 153 BEGIN failed--compilation aborted at /var/chroot
/home/content/09/6758009/html/my_perl_lib/XML/LibXML.pm line 153. Compilation failed in require
 at ./ses-get-stats.pl line 24. BEGIN failed--compilation aborted at ./ses-get-stats.pl line 24. 

Обновлен:

еще раз спасибо за ваш ответ.

вот результаты:

-bash-3.2$ perl Makefile.PL INSTALL_BASE=/var/chroot/home/content/09/6758009/html/my_perl_lib
enable native perl UTF8
running xml2-config...ok (2.6.26)
looking for -lxml2... no
looking for -llibxml2... no
libxml2 not 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.
-bash-3.2$ 

1 Ответ

1 голос
/ 02 июня 2011

Он должен находиться в каталоге "XML" ... IE, убедитесь, что LibXML.pm действительно находится в /var/chroot/home/content/09/6758009/html/my_perl_lib/XML/LibXML.pm.

Обновлен:

Вероятно, вам потребуется выполнить полную локальную установку модуля perl и совместно используемого объекта, который его сопровождает. Вы можете сделать это, используя:

# extract sources
# cd source-directory
# perl Makefile.PL INSTALL_BASE=/var/chroot/home/content/09/6758009/html/my_perl_lib
# make
# make install

Это установит все необходимое в этот каталог. Затем в сценарии укажите оба этих пути:

use lib '/var/chroot/home/content/09/6758009/html/my_perl_lib/lib/perl5';
use lib '/var/chroot/home/content/09/6758009/html/my_perl_lib/lib/perl5/i386-linux-thread-multi/auto';

Обратите внимание, что вам, вероятно, придется изменить архитектуру i386-linux-thread-multi части этой линии. Вот где установлен .so файл.

...