Siento que te sea tu comienzo en Perl tan dificultoso. Primero, estás usando un sistema operativo anticuado al que le quedan dos noticieros. Segundo, y más grave, no estás conectado a Internet.
Desde luego, has elegido la peor combinación para ponerte a aprender Perl.
Casi te sale mejor ir al kiosco, comprar una revista con una distribución Linux, y probarlo en una máquina Intel. Más barato, rápido, y cómodo.
Y tercero, has elegido instalar uno de los módulos con mayores y complicadas dependencias.
Por partes...
Si no tienes Internet, la solución pasa por conectarte a Internet y conseguir una copia actual de CPAN, con todos los módulos. Eso se consigue con el módulo CPANmini (o miniCPAN), que hace un
mirror de todos los módulos disponibles, pero solo en su última versión. Actualmente ocupa un más de un CD. De esa manera tienes una docena de miles de módulos a tu disposición.
Luego, en el ordenador sin conexión, hay que configurar CPAN.pm para que use la copia local que hemos hecho, para cuando le pidamos instalar algún módulo.
Si todo va bien, basta con hacer el comando cpan para instalar módulos. Él se encargará de la descompactación, compilación,
testeo, e instalación; y de los módulos dependientes.
Si no... pues hay que instalar los módulos uno a uno.
Lo ideal, es hacer que los módulos se instalen en alguno de los directorios indicados por @INC. Así, nos ahorramos el uso de 'use lib'. Eso es algo que los Makefile de los módulos se encargan de hacer.
Aún así, seguimos teniendo la posibilidad de instalar los módulos donde queramos. Nuestro propio directorio, por ejemplo, algo normal en los alojamientos web.
Si, a la hora de ejecutar un programa, sale un error como los que muestras, es que esos módulos no se han instalado en alguno de los directorios de @INC y/o Perl no los encuentra.
En el caso que muestras, dices que has modificado Makefile para que encuentre los módulos.
Yo creo que es una mala estrategia. Debería ser:
* Instalar los módulos en orden de dependencia. Ir de menos a más. De esa forma no
* Instalarlos en alguno de los directorios del sistema. Esto es algo automático si haces la instalación siendo root.
De esta forma, no tenemos que ir modificando ninguno los Makefiles.
Aún así, si queremos seguir con el proceso de los 4 pasos (perl Makefile.PL, make, make test y make install), también es posible indicar el directorio de instalación sin modificar los Makefiles (ejemplo más adelante).
En cuanto a lo que muestras, los errores dicen:
que no encuentra a los módulos Convert::PEM, Crypt::DH, Crypt::DSA, Crypt::IDEA, Math::GMP, Math::Pari, String::CRC32.
Algunos de estos módulos requieren la compilación de algunas librerías en C, pero el mensaje principal es que no ha podido encontrarlos en ningún directorio.
Debes primero intentar instalar estos módulos antes de instalar el Net::SSH::Perl.
Aquí tienes un ejemplo de uso del comando cpan para la instalación de módulos en un determinado directorio.
- Código: Seleccionar todo
cpan> o conf mbuildpl_arg "--install_base /ssh/Crypt-IDEA-1.08"
cpan> o conf makepl_arg "PREFIX=/ssh/Crypt-IDEA-1.08"
cpan> install Math::Pari
(Sacado de
PerlMonks).
Finalmente, aquí hay un ejemplo de cómo indicar el directorio de instalación, en el método clásico de los makes:
- Código: Seleccionar todo
% perl Makefile.PL PREFIX=/ssh/Crypt-IDEA-1.08
% make
% make install
(Sacado de
este foro, con más ejemplos, algunos de ellos, en Solaris).