On Tue, May 22, 2007 at 03:11:09PM -0500, Diego F. Asanza wrote: > Hola > > /opt/Symantec/symantec_antivirus/rtvscand: error while loading shared > > libraries: libecomlodrlin.so: cannot open shared object file: No such > > file or directory > Parece que el sistema no encuentra la libreria. ¿Donde las instalaste?. > Encuentra el path donde esta instalada la libreria libecomlodrlin.so, > luego agrega ese path en el archivo /etc/ld.so.conf (ten cuidado de > agregar solo la carpeta donde esta la libreria, no el path completo > incluyendo la libreria misma). Finalmente en un terminal como root > escribe ldconfig, y luego ejecuta el programa. > > El archivo ld.so.conf contiene una lista de paths a las librerias > dinamicas en linux. Al ejecutar ldconfig el sistema recarga esos paths.
A menos que tu binario haya sido compilado con opciones especiales (poco probable), las bibliotecas dinámicas se buscan - En los directorios nombrados en la variable LD_LIBRARY_PATH (pero no para binarios con setuid/setgid) - En la lista del archivo /etc/ld.so.cache, que es creado por ldconfig a partir del contenido de los directorios de /etc/ld.so.conf - En /lib - En /usr/lib El sistema recorre esos lugares en orden y carga la primera biblioteca que encuentre con el nombre adecuado. El nombre *no* es el del archivo, sino el 'soname'. Que casi siempre corresponden, pero no es obligatorio. Entonces, otra opción para tu problema, si no tienes necesidad se setuid, es que tus scripts que arrancan el binario pongan el nombre del directorio deseado en la variable LD_LIBRARY_PATH. Con cualquiera de los métodos, para verificar que la variable está bien configurada o que /etc/ld.so.cache fue regenerado correctamente, usa $ ldd /ruta/a/tu/binario que te dará una lista de las bibliotecas dinámicas que el binario cargará para ejecutarse, avisando si no encuentra alguna. -- Rodrigo Gallardo GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28
signature.asc
Description: Digital signature