2011-06-02 3 views
2

Mon hébergement partagé ne dispose pas de deux modules Perl requis par les scripts Amazon SES. Ils sont:L'hôte partagé d'installation du module perl

Digest :: SHA et XML :: LibXML

Digest :: J'ai téléchargé à partir SHA here et XML :: LibXML de here

Extrait et uploadé LibXML.pm et SHA.pm dans mon répertoire custome (my_perl_lib).

J'ai ajouté:

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

à la deuxième ligne au script perl.

Je reçois ceci:

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. 

S'il vous plaît conseiller.

Mise à jour:

merci, j'ai créé le répertoire, l'erreur allé, mais je faisais face à un autre:

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. 

Mise à jour:

merci encore pour votre réponse.

voici les résultats:

-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$ 

Répondre

1

Il doit être dans un répertoire "XML" ... IE, assurez-vous que LibXML.pm est en fait dans /var/chroot/home/content/09/6758009/html/my_perl_lib/XML/LibXML.pm.

Mise à jour:

Vous devez probablement faire une installation locale complète du module Perl, et l'objet partagé qui l'accompagne. Vous pouvez le faire en utilisant:

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

Cela va installer tout ce qui est nécessaire dans ce répertoire. Ensuite, dans le script, référence de ces deux chemins:

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'; 

Notez que vous aurez probablement besoin de changer l'architecture de la i386-linux-thread-multi partie de cette ligne. C'est là que le fichier .so est installé.

+0

Je l'ai mis à jour avec une description plus complète de la façon de faire une installation locale complète. –