2012-07-08 10 views
6

Correggetemi se ho torto, ma i moduli basati su XS e Dynaloader sono quelli che usano oggetti condivisi C/C++ (.so) e che non sono PP (Pure Perl)?Come installare manualmente i moduli XS?

Ora assumendo Ho una macchina, che non ha alcun tipo di connettività web-(Solaris 10) e voglio, per esempio, per installare Crypt::OpenSSL::AES (modulo base XS), la copia del file AES.pm al percorso rilevante in @INC non farà nulla di buono dal momento che il mio sistema non ha libssl installato.

La mia seconda e più importante domanda è: come installo tali moduli quando non ho CPAN? il mio approccio è:

  1. prima ottenere libssl per la mia piattaforma, compilarlo, ma dove devo mettere quel file oggetto frammento in modo che Perl può trovare?
  2. quando ho installato e compilato libssl e si trova dove dovrebbe essere, è sufficiente ora copiare semplicemente lo AES.pm nel percorso pertinente in @INC, o devo configurare/farlo?
+0

'Crypt :: OpenSSL :: AES' deve essere compilato e collegato correttamente a libssl inorder. 1. Scaricare e compilare libssl 2. Scaricare e compilare 'Crypt :: OpenSSL :: AES' – chansen

+0

L'installazione di IIRC standard di solaris non ti dà cc o gcc o qualsiasi altro c compilatore – beresfordt

risposta

6
  1. Se non si dispone di accesso come root Vorrei installare in ${HOME}/lib. Basta assicurarsi che il linker possa trovarlo, o la directory dovrebbe essere nella variabile di ambiente LD_LIBRARY_PATH, o meglio point EU::MM to the library and include files.

  2. No, il modulo ha anche una parte in C che deve essere compilata.

Per installare

scaricare il tarball di distribuzione: http://search.cpan.org/CPAN/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz

quindi seguire le istruzioni contenute nel file README sotto INSTALLAZIONE

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

Questo farà in modo che il modulo è correttamente costruito, testato e installato.

6

CPAN stesso fa parte della base perl install. Sarà sempre disponibile.

Se non è possibile utilizzare la shell cpan di parlare con internet e prendere i moduli, si può almeno prendere il tarball dal sito CPAN, metterlo sulla macchina target, scompattatelo, quindi eseguire

$ cpan . 

dall'interno della directory decompressa. Questo eseguirà il programma di installazione CPAN per quella distribuzione. Naturalmente se trova delle dipendenze mancanti, dovrai recuperarle ricorsivamente usando la stessa tecnica.

Problemi correlati