Tengo un programa binario para ejecutar en Ubuntu 12.04. Tiene dependencia de objetos compartidos. pmvs es el nombre del programa
$ ldd pmvs
linux-vdso.so.1 => (0x00007fff043c3000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fa14dc9a000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fa14d964000)
libjpeg.so.62 => not found
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa14d747000)
liblapack.so.3 => not found
libgsl.so.0 => not found
libgslcblas.so.0 => not found
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa14d449000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa14d149000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa14cf33000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa14cb73000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fa14c955000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa14c751000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa14dece000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fa14c54d000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fa14c347000)
Aparentemente no puede encontrar libjpeg.so. Sin embargo, estoy seguro de que existe y está en /usr/lib/x86_64-linux-gnu/libjpeg.so
. ¿Cómo configuro la ruta del vinculador para incluir esa ubicación?
Respuesta1
Instalar una versión anterior de libjpeg resolvió mi problema
sudo apt-get install libjpeg62:i386
sudo apt-get install libjpeg62
Respuesta2
Dado que otras bibliotecas se encuentran exitosamente en /usr/lib/x86_64-linux-gnu
, su problema no es cómo especificar esa ubicación, pero probablemente el número de versión de la biblioteca instalada no sea 62 como el programa busca.
Tiene dos opciones: buscar e instalar una versión anterior de la biblioteca que falta, o mucho más fácil y probable que tenga éxito es simplemente agregar la biblioteca que falta como un enlace a la versión de la biblioteca instalada.
Ahora Ubuntu 14.04 tiene libjpeg.so.8.0.2
, por lo que algo es drásticamente diferente. Sin embargo, tengo uno
/usr/lib/vmware-installer/2.1.0/lib/lib/libjpeg.so.62/libjpeg.so.62
en mi sistema 14.04, así que tal vez tengas algo similar (tengo vmplayer instalado). Si la libjpeg.8.0.2
biblioteca no funciona para el enlace, busque algo que haya quedado instalado de vmware (el reproductor se puede descargar gratis si lo necesita).
Respuesta3
En mi caso, apt-get no funcionó, hice lo siguiente:
git clone https://github.com/LuaDist/libjpeg.git
y luego:
./configure
make
make install