Libjpeg no encontrado por mi programa a pesar de que existe

Libjpeg no encontrado por mi programa a pesar de que existe

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.62en mi sistema 14.04, así que tal vez tengas algo similar (tengo vmplayer instalado). Si la libjpeg.8.0.2biblioteca 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

información relacionada