• Publicidad

Fallo en HP-UX

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Fallo en HP-UX

Notapor bitjam » 2011-07-15 12:09 @548

Hola, tal vez me pueden ayudar. Tengo un problema al ejecutar un script en Perl en un sistema operativo HP-UX. Anteriormente funcionaba bien.

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
backup_test.pl
Can't locate loadable object for module DBD::Sybase in @INC (@INC contains: /opt/perl_64/lib/5.8.8/PA-RISC2.0-thread-multi-LP64 /opt/perl_64/lib/5.8.8 /opt/perl_64/lib/site_perl/5.8.8/PA-RISC2.0-thread-multi-LP64 /opt/perl_64/lib/site_perl/5.8.8 /opt/perl_64/lib/site_perl /opt/perl_64/lib/vendor_perl/5.8.8/PA-RISC2.0-thread-multi-LP64 /opt/perl_64/lib/vendor_perl/5.8.8 /opt/perl_64/lib/vendor_perl .) at backup_vouchers.pl line 9
Compilation failed in require at backup_vouchers.pl line 9.
BEGIN failed--compilation aborted at backup_vouchers.pl line 9
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Saludes
bitjam
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2011-07-15 11:11 @507

Publicidad

Re: Fallo en HP-UX

Notapor explorer » 2011-07-15 12:26 @559

Bienvenido a los foros de Perl en español, bitjam.

El mensaje de error dice que Perl no ha podido encontrar la biblioteca que permite usar DBD::Sybase. Si estuviéramos en Windows, diríamos que no encuentra la .dll que hace de interfaz entre el módulo DBD::Sybase y el cliente de Sybase, para acceder luego a las bases de datos.

El error puede indicar que se ha instalado una nueva versión de Perl, pero no de DBD::Sybase.

Usa el gestor de paquetes de software de tu HP-UX, para ver si puedes localizar esta distribución, para instalarla.

Si no existe como paquete precompilado, deberás crear una nueva versión, ejecutando la instalación del módulo.

No sé decirte si lo puedes hacer con el comando cpan (no sé si tendrás ese comando en tu equipo), o tendrás que hacerlo de forma manual (seguir las instrucciones de instalación de la distribución).

Hay que saber más datos sobre qué es lo que ha pasado.
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: Fallo en HP-UX

Notapor bitjam » 2011-07-15 12:35 @566

Pues no se ha instalado ninguna versión nueva de Perl. Dejó de funcionar de un día para otro, sin que se modificara nada.
bitjam
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2011-07-15 11:11 @507

Re: Fallo en HP-UX

Notapor explorer » 2011-07-15 12:50 @576

Pues algo ha cambiado, sin duda... El software no "desaparece" sin más...

Se me ocurre...

* Ha cambiado el PATH de ejecución del intérprete perl, de tal manera que ahora no encuentra el directorio original donde reside la biblioteca

* El directorio donde reside la biblioteca ha sido borrado o cambiado de nombre

* El programa ha sido modificado en lo que respecta buscar ese directorio (por ejemplo, se ha cambiado una línea use lib) y ya no lo encuentra

Yo lo que haría sería buscar, por si está todavía, el directorio con las bibliotecas. Por ejemplo, en mi Linux escribo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. casa:/usr/lib/perl5 # ll -R ./vendor_perl/5.12.3/i586-linux-thread-multi/auto/DBD
  2. ./vendor_perl/5.12.3/i586-linux-thread-multi/auto/DBD:
  3. total 16
  4. drwxr-xr-x  2 root root 4096 Apr 27 12:22 SQLite
  5. drwxr-xr-x  4 root root 4096 May 28 00:24 .
  6. drwxr-xr-x  2 root root 4096 May 28 00:24 mysql
  7. drwxr-xr-x 64 root root 4096 Jul  7 23:28 ..
  8.  
  9. ./vendor_perl/5.12.3/i586-linux-thread-multi/auto/DBD/SQLite:
  10. total 692
  11. -r--r--r-- 1 root root      0 Feb 18 15:20 SQLite.bs
  12. -r-xr-xr-x 1 root root 697408 Feb 18 15:20 SQLite.so
  13. drwxr-xr-x 2 root root   4096 Apr 27 12:22 .
  14. drwxr-xr-x 4 root root   4096 May 28 00:24 ..
  15.  
  16. ./vendor_perl/5.12.3/i586-linux-thread-multi/auto/DBD/mysql:
  17. total 316
  18. -r--r--r-- 1 root root      0 May 17 12:42 mysql.bs
  19. -r-xr-xr-x 1 root root 311961 May 17 12:42 mysql.so
  20. drwxr-xr-x 4 root root   4096 May 28 00:24 ..
  21. drwxr-xr-x 2 root root   4096 May 28 00:24 .
  22.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Las bibliotecas son los ficheros con extensión .so .

Ejecuto perl para ver en qué directorios está buscando:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. casa:/usr/lib/perl5 # perl -le 'print join "\n", @INC'
  2. /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi
  3. /usr/lib/perl5/site_perl/5.12.3
  4. /usr/lib/perl5/vendor_perl/5.12.3/i586-linux-thread-multi
  5. /usr/lib/perl5/vendor_perl/5.12.3
  6. /usr/lib/perl5/5.12.3/i586-linux-thread-multi
  7. /usr/lib/perl5/5.12.3
  8. .
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
y observo que está bien, porque el directorio /usr/lib/perl5/vendor_perl/5.12.3/i586-linux-thread-multi sí que está presente.

Para saber si un módulo está bien instalado, lo ejecuto así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. casa:/usr/lib/perl5 # perl -e 'use DBD::mysql;'
  2. casa:/usr/lib/perl5 #
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Si no salen errores, es que todo va bien (al menos, lo encuentra).

Otra posibilidad de lo que ha podido ocurrir: el disco duro está fallando, y el sistema de ficheros se ha cargado la biblioteca o el directorio entero :shock:
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: Fallo en HP-UX

Notapor bitjam » 2011-07-15 13:13 @592

Esta es la información que me arroja, siguiendo los pasos:

# ls -R ./DBD
Sybase.pm
#
#
# perl -le 'print join "\n", @INC'
/opt/perl_64/lib/5.8.8/PA-RISC2.0-thread-multi-LP64
/opt/perl_64/lib/5.8.8
/opt/perl_64/lib/site_perl/5.8.8/PA-RISC2.0-thread-multi-LP64
/opt/perl_64/lib/site_perl/5.8.8
/opt/perl_64/lib/site_perl
/opt/perl_64/lib/vendor_perl/5.8.8/PA-RISC2.0-thread-multi-LP64
/opt/perl_64/lib/vendor_perl/5.8.8
/opt/perl_64/lib/vendor_perl
.
#
#
#
# perl -e 'use DBD::Sysbase;'
Can't locate DBD/Sysbase.pm in @INC (@INC contains: /opt/perl_64/lib/5.8.8/PA-RISC2.0-thread-multi-LP64 /opt/perl_64/lib/5.8.8 /opt/perl_64/lib/site_perl/5.8.8/PA-RISC2.0-thread-multi-LP64 /opt/perl_64/lib/site_perl/5.8.8 /opt/perl_64/lib/site_perl /opt/perl_64/lib/vendor_perl/5.8.8/PA-RISC2.0-thread-multi-LP64 /opt/perl_64/lib/vendor_perl/5.8.8 /opt/perl_64/lib/vendor_perl .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
#
#

saludes
bitjam
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2011-07-15 11:11 @507

Re: Fallo en HP-UX

Notapor explorer » 2011-07-15 16:30 @729

Has escrito Sysbase, en lugar de Sybase. Por eso sale error al final.

Como no nos pones la ruta completa, no sabemos dónde está colocado DBD::Sybase. Pero aún así, vemos que solo aparece el fichero .pm, y no el de la biblioteca compilada, que es el fichero objeto del primer error que pusiste en este hilo.
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: Fallo en HP-UX

Notapor bitjam » 2011-07-15 16:55 @746

# pwd
/opt/perl_64/lib/5.8.8/PA-RISC2.0-thread-multi-LP64
# ls -R ./DBD
Sybase.pm

En conclusión tendría que compilar la librería.
bitjam
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2011-07-15 11:11 @507

Re: Fallo en HP-UX

Notapor explorer » 2011-07-15 19:10 @840

Pues si no está en ninguna otra parte del sistema, es que ha desaparecido, lo cual es más preocupante que volverla a generar :)

Pues sí, tendrás que empezar a pensar en compilarla.

Cosas que he encontrado
* Página de soporte de HP para Perl en HP-UX 11i

* La empresa ActiveState da soporte empresarial, pero la distribución DBD-Sybase no está precompilada para HP-UX, aunque el error de compilación... se arregla fácilmente.
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: Fallo en HP-UX

Notapor bitjam » 2011-07-15 20:58 @915

Hola, explorer.

¿Crees que pueda ser algún problema de permiso en algún archivo o directorio o tal vez de variables de entorno? Es que la verdad, no me gustaría reinstalar.

Estimado, ¿me puedes decir si estas son las librerías que buscamos?

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. # pwd
  2. /opt/perl_64/lib/site_perl/5.8.8/PA-RISC2.0-thread-multi-LP64/auto
  3. # ls -lR ./DBD
  4. total 16
  5. drwxr-xr-x   2 root       sys           8192 Sep 10  2008 Oracle
  6. dr-xr-xr-x   2 bin        bin             96 Sep  9  2008 SQLite
  7.  
  8. ./DBD/Oracle:
  9. total 1184
  10. -rw-r--r--   1 root       sys           1089 Sep 10  2008 .packlist
  11. -r--r--r--   1 root       sys              0 Sep 10  2008 Oracle.bs
  12. -r-xr-xr-x   1 root       sys           4027 Apr  3  2008 Oracle.h
  13. -r-xr-xr-x   1 root       sys         521328 Sep 10  2008 Oracle.sl
  14. -r-xr-xr-x   1 root       sys          15339 Jul 28  2008 dbdimp.h
  15. -r-xr-xr-x   1 root       sys          23906 Sep 10  2008 mk.pm
  16. -r-xr-xr-x   1 root       sys          23261 Jul 30  2008 ocitrace.h
  17.  
  18. ./DBD/SQLite:
  19. total 1408
  20. -r--r--r--   1 bin        bin            288 Jan  7  2008 .packlist
  21. -r--r--r--   1 bin        bin              0 Nov 16  2007 SQLite.bs
  22. -r-xr-xr-x   1 bin        bin         708304 Nov 16  2007 SQLite.sl
  23. #
  24. #
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
bitjam
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2011-07-15 11:11 @507

Re: Fallo en HP-UX

Notapor explorer » 2011-07-16 04:44 @239

Efectivamente, ahí debería estar el subdirectorio para el Sybase, con ficheros con extensiones iguales a los de Oracle y SQLite... pero... no está ahí...

Si en tu sistema no hay un sistema de localización de ficheros (find-utils), prueba a ejecutar esto para encontrarlo:

find / -name 'Sybase*'

Tardará un rato, según lo grande que sea el sistema, pero te buscará todos los archivos y directorios que empiecen por "Sybase".
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 Básico

¿Quién está conectado?

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