Libjpeg не найден моей программой, хотя он существует

Libjpeg не найден моей программой, хотя он существует

У меня есть бинарная программа для запуска на Ubuntu 12.04. Она имеет зависимость от общих объектов. pmvs — это имя программы

   $ 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)

По-видимому, он не может найти libjpeg.so. Однако я уверен, что он существует и находится в /usr/lib/x86_64-linux-gnu/libjpeg.so. Как мне задать путь компоновщика, чтобы включить это местоположение?

решение1

Установка более старой версии libjpeg решила мою проблему

sudo apt-get install libjpeg62:i386
sudo apt-get install libjpeg62

решение2

Поскольку другие библиотеки успешно находятся в /usr/lib/x86_64-linux-gnu, ваша проблема не в том, как указать это местоположение, а, вероятно, номер версии установленной библиотеки не 62, как ищет программа.

У вас есть два варианта: либо найти и установить старую версию отсутствующей библиотеки, либо, что гораздо проще и вероятнее всего, успешнее, просто добавить отсутствующую библиотеку как ссылку на версию установленной библиотеки.

Теперь в Ubuntu 14.04 есть libjpeg.so.8.0.2, так что что-то кардинально отличается. Однако у меня есть /usr/lib/vmware-installer/2.1.0/lib/lib/libjpeg.so.62/libjpeg.so.62на моей системе 14.04, так что, возможно, у вас есть что-то похожее (у меня установлен vmplayer). Если библиотека libjpeg.8.0.2не работает по ссылке, поищите что-нибудь vmware install (плеер можно бесплатно загрузить, если он вам нужен).

решение3

В моем случае apt-get не сработал, я сделал следующее:

git clone https://github.com/LuaDist/libjpeg.git

а потом:

./configure
make 
make install

Связанный контент