2012-07-08 1 views
6

Corrigez-moi si je me trompe, mais les modules basés sur XS et Dynaloader sont ceux qui utilisent des objets partagés C/C++ (.so) et qui ne sont pas PP (Pure Perl)?Comment installer manuellement les modules XS?

Maintenant, en supposant que j'ai une machine, qui n'a pas la connectivité Web que ce soit (Solaris 10) et je veux, par exemple, pour installer Crypt::OpenSSL::AES (XS module de base), la copie du fichier AES.pm sur le chemin pertinent @INC ne fera pas de bien puisque mon système n'a pas libssl installé.

Ma deuxième question et la plus importante est, comment puis-je installer de tels modules quand je n'ai pas CPAN? mon approche est:

  1. d'abord obtenir libssl pour ma plate-forme, le compiler, mais où dois-je mettre ce fichier objet tesson pour que perl trouver?
  2. Lorsque j'ai libssl installé et compilé et situé où il devrait être, suffit-il maintenant de simplement copier le AES.pm sur le chemin pertinent dans @INC, ou ai-je besoin de le configurer/le faire?
+0

'Crypt :: OpenSSL :: AES' doit être compilé et lié à libssl inorder correctement. 1. Télécharger et compiler et installer libssl 2. Télécharger et compiler et installer 'Crypt :: OpenSSL :: AES' – chansen

+0

L'installation standard de IIRC de solaris ne vous donne pas cc ou gcc ou tout autre compilateur c – beresfordt

Répondre

6
  1. Si vous n'avez pas accès root j'installer dans ${HOME}/lib. Assurez-vous simplement que l'éditeur de liens peut le trouver, soit le répertoire doit être dans votre variable d'environnement LD_LIBRARY_PATH, ou mieux point EU::MM to the library and include files. Non, le module a aussi une partie en C qui doit être compilée.

Pour installer

Télécharger la distribution tarball: http://search.cpan.org/CPAN/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz

Suivez ensuite les étapes dans le fichier README sous INSTALLATION

perl Makefile.PL INC="-I $HOME/include" LIBS="-L $HOME/lib" 
make 
make test 
make install 

Cela fera en sorte que le module est correctement construit, testé et installé. CPAN lui-même fait partie de l'installation de base perl.

6

Ce sera toujours disponible.

Si vous ne pouvez pas utiliser le shell cpan pour parler à Internet et chercher des modules, vous pouvez au moins saisir le tarball du site CPAN, mettre sur la machine cible, décompressez, puis exécutez

$ cpan . 

depuis l'intérieur du répertoire décompressé. Cela exécutera le programme d'installation CPAN pour cette distribution. Bien sûr, s'il trouve des dépendances manquantes, vous devrez les récupérer vous-même de manière récursive en utilisant la même technique.

Questions connexes