• Publicidad

Error al instalar

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Error al instalar

Notapor Eowyn » 2013-10-16 19:08 @839

Hola,

he instalado perlbrew y me he puesto a usar la versión v.15.14.4 de perl.La cosa es que con la 15.10 el módulo de xpath quedaba instalado, pero ahora no lo encuentra. Intento hacer apt-get y nada. Al probar desde CPAN me dice esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
 TODDR/XML-Parser-2.41.tar.gz                 : make NO
 MSERGEANT/XML-XPath-1.13.tar.gz              : make_test NO one dependency not OK (XML::Parser); additionally test harness failed
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


He mirado en Internet y lo he probado todo. En Debian expat-devel no está en el repositorio, así que he probado esta opción que leí:

"The package you want to install is named libexpat1-dev. You could also just install libxml-parser-perl via apt-get. Or if you really want to install via CPAN try installing the Debian packages dependencies first via apt-get build-dep libxml-parser-perl"

Nada, tampoco, porque me dice que en ciertos paquetes no se cumplen las dependencias.

¿Alguna idea? Gracias :roll:
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Publicidad

Re: Error al instalar

Notapor explorer » 2013-10-16 19:53 @870

Hablas de apt-get, así que eso quiere decir que estás en un Ubuntu, u otro derivado de Debian.

Como se comenta en hilo sobre instalación de módulos, siempre hay que intentar, primero, hacer la instalación usando los paquetes prefabricados de la distribución del sistema operativo en que nos encontremos.

Entonces, si queremos instalar el XML::Parser y el XML::XPath, y no estamos seguros de cómo se llaman sus paquetes respectivos, hacemos una búsqueda:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. root@ks204140:~# apt-cache search xpath | fgrep perl
  2. libhtml-selector-xpath-perl - module for compiling CSS Selectors to XPath
  3. libhtml-treebuilder-libxml-perl - HTML::TreeBuilder and XPath compatible interface with libxml
  4. libhtml-treebuilder-xpath-perl - Perl module to add XPath support to HTML::TreeBuilder
  5. libtemplate-plugin-xml-perl - XML plugins for the Template Toolkit
  6. libtest-xml-perl - compare XML in perl tests
  7. libtest-xml-simple-perl - Perl testing framework for XML data
  8. libtest-xpath-perl - test XML and HTML content and structure with XPath expressions
  9. libweb-scraper-perl - Web Scraping Toolkit using HTML and CSS Selectors or XPath expressions
  10. libxml-dom-xpath-perl - adds XPath support to XML::DOM, using XML::XPathEngine
  11. libxml-libxml-perl - Perl interface to the libxml2 library
  12. libxml-tidy-perl - module for tidy indenting of XML documents
  13. libxml-xpath-perl - Perl module for processing XPath
  14. libxml-xpathengine-perl - re-usable XPath engine for DOM-like trees
  15. libxml-xslt-perl - Perl module for processing XSLT
  16. libccs-perl - Red Hat cluster suite - cluster configuration module
  17.  
  18. root@ks204140:~# apt-cache search xml-parser | fgrep perl
  19. libdbix-xml-rdb-perl - perl module for creating XML from a DBI datasource
  20. libxml-autowriter-perl - Perl module to produce DOCTYPE-based XML output
  21. libxml-encoding-perl - Perl module for parsing encoding map XML files
  22. libxml-parser-lite-tree-perl - lightweight XML tree builder
  23. libxml-parser-perl - Perl module for parsing XML files
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Con la ayuda de los filtros "fgrep perl" vemos solamente los paquetes de CPAN que están prefabricados para nuestro sistema.

Y ya vemos los que nos interesan. Así que solo nos queda hacer un

apt-get install libxml-parser-perl libxml-xpath-perl

No he hecho la prueba, pero como un módulo depende del otro, valdría con un

apt-get install libxml-xpath-perl

y apt-get se encarga de todo lo demás.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Error al instalar

Notapor Eowyn » 2013-10-17 07:26 @351

Me pasan cosas que no tienen ningún sentido, no lo entiendo :cry: Ayer perlbrew funcionaba perfectamente, hoy ni sabía lo que era. Lo he vuelto a instalar, he instalado la versión 5.14 y entonces, al hacer el use, me dice: "A sub-shell is launched with perl-5.14.4 as the activated perl. Run 'exit' to finish it". Cuando voy a usar un programa que pide la versión 5.14, me dice que sigo con la 5.10.

¿Qué estoy haciendo tan mal?
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Re: Error al instalar

Notapor explorer » 2013-10-17 09:49 @450

Si estás en un entorno controlado por perlbrew, es importante saber que la posición del intérprete perl (y sus bibliotecas asociadas) se localizan con la ayuda de las variables de entorno.

Eso quiere decir, que si en la cabecera del programa Perl, tienes puesto

#!/usr/bin/perl

estás indicando al sistema que quieres que ese programa se ejecute con el intérprete perl del sistema, no con el perl de tu entorno perlbrew.

Entonces, la solución es cambiar esa cabecera por

#!/usr/bin/env perl

El comando env se encargará de recrear el entorno indicado por las variables de entorno, para la ejecución del perl, y entonces se arrancará el perl que hayas designado con perlbrew.
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. explorer@ks$ cat kk.pl
  2. #!/usr/bin/perl
  3. print $^V, "\n";   # muestra el número de versión del perl
  4.  
  5. explorer@ks$ perlbrew list
  6.   perl-5.16.3
  7. * perl-5.18.0
  8.   perl-5.18.1
  9. explorer@ks$ perl ./kk.pl
  10. v5.18.0
  11. explorer@ks$ ./kk.pl
  12. -bash: ./kk.pl: Permiso denegado
  13. explorer@ks$ chmod 755 ./kk.pl
  14. explorer@ks$ ./kk.pl
  15. v5.14.2
  16. explorer@ks$ joe kk.pl
  17. explorer@ks$ cat kk.pl
  18. #!/usr/bin/env perl
  19. print $^V, "\n";   # muestra el número de versión del perl
  20.  
  21. explorer@ks$ perl kk.pl
  22. v5.18.0
  23. explorer@ks$ ./kk.pl
  24. v5.18.0
  25. explorer@ks$ perlbrew use perl-5.18.1
  26. explorer@ks$ perl kk.pl
  27. v5.18.1
  28. explorer@ks$ ./kk.pl
  29. v5.18.1
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Observa que, al principio, según cómo ejecutemos el programa, estaremos usando una versión u otra. Si cambiamos la cabecera, pues se ejecutará siempre según lo que diga perlbrew.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Error al instalar

Notapor Eowyn » 2013-10-18 17:49 @784

Sí, eso lo vi en el mensaje del foro que leí antes de consultar. Pero mi problema es que ahora que está instalado perlbrew y la 5.14, cuando hago un perlbrew use me dice aquello de "A sub-shell is launched with perl-5.14.4 as the activated perl" y por tanto aunque ponga env perl, no hace nada porque no he podido hacer el use de perlbrew :roll:
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Re: Error al instalar

Notapor explorer » 2013-10-18 21:32 @939

Me parece que me he perdido...

Con perlbrew puedes cambiar de versión de Perl, entre las que has instalado y la versión del sistema.

No entiendo lo que dices de "no he podido hacer el use de perlbrew".

El perlbrew use es para ejecutarlo en línea de comandos, y cambiar de versión de Perl.

¿A qué te refieres con que no puedes hacerlo?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Error al instalar

Notapor Eowyn » 2013-10-20 14:46 @657

Perdón, que al ser la siguiente página no había leído.

Yo estoy en la 5.10 y en la línea de comando, como bien dices, hago perlbrew use perl-5.14.4 Al hacer eso, me dice que el perl que está activado es de hecho el 5.14 y que no lo puede reactivar porque ya lo está. Entonces, al ejecutar un programa, a pesar de poner las líneas que comento en el mensaje anterior, me dice que estoy en la versión 5.10 y que el programa necesita la 5.14. El problema al final es cómo "lanzar" la 5.14 para que el programa que la necesita se ejecute.
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Re: Error al instalar

Notapor explorer » 2013-10-20 15:13 @676

Para comprobar que estás usando el perl correcto, haces un

perl -v

La solución a que el programa se ejecute con la versión que en ese momento tengas activada, es la que te comenté en un mensaje anterior: Tienes que editar el programa, y en la primera línea, cambiar

#!/usr/bin/perl

por

#!/usr/bin/env perl

Otra opción (también comentada antes) es ejecutar el programa con el nombre del intérprete delante:

perl programa.pl

Otra cosa distinta es que estés ejecutando el programa de una forma distinta a la de la línea de comandos (vía cron, o siendo un cgi). En ese caso, hay que adoptar otra solución. Ejemplo: para ejecutar un programa, desde el crontab, uso algo como lo siguiente:

*/5 9-23,0-2 * * * /home/explorer/perl5/perlbrew/bin/perlbrew exec --quiet --with perl-5.16.1 ~/bin/medalleroLondres2012P.pl
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Error al instalar

Notapor Eowyn » 2013-10-20 16:46 @740

Sí, eso de env perl lo he hecho ya. Creo que esto pinta más bien por el lado de que no localiza bien los módulos, es decir: Can't locate XML/XPath.pm in @INC (@INC contains: /root/perl5/perlbrew/perls...

He mirado esta página http://alvinalexander.com/perl/edu/articles/pl010015 pero no sé si lo hago mal porque no me arregla mucho :roll:
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Re: Error al instalar

Notapor explorer » 2013-10-21 05:21 @264

Cuando cambias de perl, con la ayuda de perlbrew, estás ejecutando un perl nuevo, así que la lista de módulos es propia de ese perl.

Eso quiere decir que cada perl tiene su lista de módulos instalados.

Si te sale el error de que no localiza XML::XPath, es porque no está instalado para ese perl.

Debes realizar la instalación de XML::XPath y del resto de módulos propios de esa versión.

En la página oficial de perlbrew, hay un artículo llamado How To Reinstall All Modules On New Perl donde explica una forma rápida de hacerlo, con la ayuda del comando cpanm:

Primero haces un

perlbrew use perl-....

al perl en donde tenías los módulos ya instalados. Y luego haces un

perlbrew list-modules | perlbrew exec --with perl-5.14.4 cpanm

Esto lo que hace es sacar la lista de módulos instalados en el perl actual, y ejecutar cpanm para que los vuelva a instalar, pero en el nuevo perl-5.14.4.

En el caso de que sea la primera vez que usas perlbrew, es obvio que no tienes instalado ningún módulo en ninguno de los perl de perlbrew. En ese caso, hay que seguir el procedimiento normal:

perlbrew use perl-5.14.4
cpanm XML::XPath


Esto hay que hacerlo para todos los módulos que necesitemos.

Y, en el caso de que estemos actualizando perl constantemente, como es muy pesado hacer la instalación de módulos con cada nuevo perl, una opción es crear un directorio específico con nuestros propios módulos, con la ayuda de local::lib. Esto lo gestiona perlbrew de forma automática con la opción lib. Más información en perlbrew help lib Esto se refiere, sobre todo, a nuestros propios módulos (aquellos que queremos probar con distintas versiones de perl), pero también puede valer para módulos bajados desde CPAN (siempre que estén escritos en puro Perl, o sean compatibles a nivel binario).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados