• Publicidad

Fatal relocation error

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

Fatal relocation error

Notapor jmdelcampo » 2011-03-30 03:37 @192

Hola,

Estoy intentando ejecutar un script y al ejecutarlo obtengo el siguiente error

ld.so.1: perl: fatal: relocation error: file /opt/interfaces/colectoras/lib/auto/infovista/infovista.so: symbol Perl_Gthr_key_ptr: referenced symbol not found

¿Cómo podría solucionarlo?

Saludos y gracias.
jmdelcampo
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-11-24 07:43 @363

Publicidad

Re: Fatal relocation error

Notapor explorer » 2011-03-30 06:35 @316

Es muy posible que la versión de Perl que estás usando no sea compatible con la biblioteca infovista.so que estás intentando cargar.

Con perl -V averiguas qué versión de Perl estás ejecutando, y luego tienes que ver qué versión de Perl requiere la versión de Infovista que tienes instalada.
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: Fatal relocation error

Notapor jmdelcampo » 2011-03-30 06:49 @325

Hola,

Adjunto la salida del comando perl -V. ¿Cómo puedo ver la versión que necesito para la librería?

Si puede servir de ayuda: si lo ejecuto en una máquina sun4-solaris-thread-multi funciona perfectamente.

¿Puede tener algo que ver que se ejecute o no en función del Sistema Operativo?

Saludos y gracias
Adjuntos
perl-v.rar
(7.96 KiB) 41 veces
jmdelcampo
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-11-24 07:43 @363

Re: Fatal relocation error

Notapor explorer » 2011-03-30 10:31 @480

Precisamente, buscando por Google, sale algún hilo diciendo que el problema estaba en que la biblioteca estaba preparada para funcionar en una versión de Perl con soporte para Threads, pero el intérprete perl que se estaba ejecutando no tenía ese soporte.

Si ejecutas el comando ldd pasándole como argumento el nombre de la biblioteca, te dará las dependencias que tiene (de qué versiones de otros programas y bibliotecas depende).

Dependiendo del sistema operativo, también tendrás el comando dump, que te dará más información sobre la biblioteca.

Viendo tu perl -V, sale claro que está instalado en /usr/perl5, pero el error se refiere a Infovista que está instalado en /opt/interfaces/colectoras/lib/. ¿No estarás ejecutando un perl del sistema cuando en realidad deberías estar usando el perl contenido dentro de /opt/interfaces/colectoras/lib/?

Madre mía... un Perl 5.6.1... eso es casi del siglo 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


Volver a Básico

¿Quién está conectado?

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