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
뭔가가 크게 다릅니다. 그러나 내 14.04 시스템에는 가 있으므로
/usr/lib/vmware-installer/2.1.0/lib/lib/libjpeg.so.62/libjpeg.so.62
비슷한 것이 있을 수도 있습니다(vmplayer가 설치되어 있습니다). 라이브러리 libjpeg.8.0.2
가 링크에 대해 작동하지 않으면 vmware install에 남아 있는 항목을 찾아보십시오(필요한 경우 플레이어는 무료로 다운로드할 수 있습니다).
답변3
제 경우에는 apt-get이 작동하지 않아서 다음을 수행했습니다.
git clone https://github.com/LuaDist/libjpeg.git
그런 다음:
./configure
make
make install