2012-04-26 21 views
15

Estoy intentando poner en funcionamiento un sistema y tengo problemas con las bibliotecas compartidas de OpenMotif. Tengo su directorio en LD_LIBRARY_PATH, pero todavía no puedo encontrarlos.ldd no se puede encontrar la biblioteca en LD_LIBRARY_PATH

He aquí un ejemplo:

[[email protected] netcool]# ldd /opt/netcool/omnibus/platform/linux2x86/bin/nco_* |grep 'not found' 
    libXm.so.3 => not found 
    libXpm.so.4 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXpm.so.4 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
[[email protected] netcool]# find /usr/ -name libXm.so.3 
/usr/lib64/libXm.so.3 
[[email protected] netcool]# find /usr/ -name libXpm.so.4 
/usr/lib64/libXpm.so.4 
[[email protected] netcool]# echo $LD_LIBRARY_PATH 
/opt/netcool/omnibus//platform/linux2x86/lib/:/opt/netcool//platform/linux2x86/lib/:/usr/lib/:/usr/lib64/ 

Probablemente estoy haciendo algo estúpido, pero no puedo pensar en otra cosa que intentarlo.

EDIT: Para responder a un par de las preguntas formuladas a continuación:

[[email protected] netcool]# export LD_LIBRARY_PATH 
[[email protected] netcool]# ldd /opt/netcool/omnibus/platform/linux2x86/bin/nco_* |grep 'not found' 
    libXm.so.3 => not found 
    libXpm.so.4 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXpm.so.4 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
[[email protected] netcool]# ldconfig 
[[email protected] netcool]# ldd /opt/netcool/omnibus/platform/linux2x86/bin/nco_* |grep 'not found' 
    libXm.so.3 => not found 
    libXpm.so.4 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXpm.so.4 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 
    libXm.so.3 => not found 

Ok, acaba de intentar ejecutar uno de los ejecutables:

# ./bin/nco_xigen 
/opt/netcool//omnibus/platform/linux2x86/bin/nco_xigen: error while loading shared libraries: libXm.so.3: wrong ELF class: ELFCLASS64 

es esta cosa de 32 bits/64 bits ?

+1

¿'exportó LD_LIBRARY_PATH'? – vhallac

+0

Sí, LD_LIBRARY_PATH se configuró y exportó en ~/.bash_profile –

+0

¿Reubicó .bash_profile en su entorno? Perdón por comenzar de manera básica, pero generalmente es lo básico que hace tropezar a los programadores avanzados ... #EDIT parece que lo hiciste, ya que echo imprime los directorios correctos. Hmm ... – Matt

Respuesta

11

Los archivos binarios que tenía estaban buscando las versiones de 32 bits de las bibliotecas compartidas, tenía el de 64 bits instalado. Estúpido error. LDD no produjo un mensaje de error muy perspicaz, pero el binario lo hizo cuando intenté ejecutarlo.

14

¿Exportó LD_LIBRARY_PATH? la palabra clave export le dice a Bash que envíe variables a subprocesos; de lo contrario, ldd nunca verá LD_LIBRARY_PATH.

Cuestiones relacionadas