web-dev-qa-db-ja.com

ライブラリへの静的リンク

プリコンパイルされたプログラムをから実行しようとしています

http://cherrypit.princeton.edu/donev/Packing/PackLSD/Instructions.html

ページには次のように記載されています。

実行可能ファイルは、標準(OpenGL、libtiff、libjpegなど)のLinuxライブラリでのみリンクし、openglutを静的にリンクします。これにより、一部のシステムで障害が発生する可能性があります。プログラムは、Red Hat EL4システム上で、汎用IA32プロセッサ用に中程度の最適化でコンパイルされます。これらは、Red Hat(> = 9)およびFedora(> = 3)システムで問題なく実行でき、できれば他の同様のディストリビューションでも実行できます。

標準のUbuntu12.10ディストリビューションでは、次のプログラムを実行できません。

./PackLSD.poly.static.x: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory

これは、libtiffの開発バージョンをインストールする必要があることを示唆していますが、どちらもインストールしないでください

Sudo apt-get install libtiff4-dev
Sudo apt-get install libtiff5-dev

助けになるようです。著者の助けなしにこのプログラムを動作させるのは運が悪いですか?

編集:要求に応じて。 Sudo dpkg -L libtiff4 libtiff5への出力

/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libtiff.so.4.3.6
/usr/share
/usr/share/doc
/usr/share/doc/libtiff4
/usr/share/doc/libtiff4/README
/usr/share/doc/libtiff4/TODO
/usr/share/doc/libtiff4/changelog.Debian.gz
/usr/share/doc/libtiff4/README.Debian
/usr/share/doc/libtiff4/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libtiff4
/usr/lib/x86_64-linux-gnu/libtiff.so.4

/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libtiff.so.5.1.0
/usr/share
/usr/share/doc
/usr/share/doc/libtiff5
/usr/share/doc/libtiff5/README
/usr/share/doc/libtiff5/TODO
/usr/share/doc/libtiff5/changelog.Debian.gz
/usr/share/doc/libtiff5/README.Debian
/usr/share/doc/libtiff5/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libtiff5
/usr/lib/x86_64-linux-gnu/libtiff.so.5
1
Hooked

私が信じているソースではなく、ライブラリが必要です。

これをしてください

Sudo apt-get install libtiff4 libtiff5

編集:

Sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.4.3.6 /usr/lib/libtiff.so.3

これで問題が解決するはずです

1
thefourtheye