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 ではない可能性があります。

選択肢は 2 つあります。不足しているライブラリの古いバージョンを見つけてインストールするか、不足しているライブラリを、インストールされているライブラリのバージョンへのリンクとして追加する方がはるかに簡単で成功する可能性が高い方法です。

現在、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

関連情報