У меня есть бинарная программа для запуска на 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