回答:
ディストリビューションに依存しない方法でこれを行うには、次のようにgrepでldconfigを使用できます。
ldconfig -p | grep libjpeg
libjpegがインストールされていない場合、出力はありません。インストールされている場合、使用可能な各バージョンの行が表示されます。
libjpegを任意のライブラリに置き換えます。ライブラリの可用性を確認するための一般的な、ディストリビューションに依存しない*方法があります。
何らかの理由でldconfigへのパスが設定されていない場合、通常はフルパスを使用して起動を試みることができます/sbin/ldconfig
。
**時間の99%*
bash: ldconfig: command not found
Debian x64 Jessieでxfceを使用して!これは... Debianのウェブサイト上でお奨めのDebianリリースです
ldconfig
使用できません(command not found
表示されます)。
/sbin/ldconfig -p
ルートになる必要なく私のために働きます。
ディストリビューションのパッケージマネージャー(aptitude、yumなど)で確認できますが、ディストリビューションを提供しなかったため、適切なコマンドを提供できません。
別の方法はgcc -ljpeg
、「ld:library not found for -ljpeg」が表示された場合、gccがライブラリを見つけられなかったことを意味します(ただし、インストールされていないという意味ではありません) : "_main"、参照元:... 'これはlibjpegが見つかったことを意味します。
locate libjpeg; ls /usr/lib/libjpeg*; ls /lib/libjpeg*
libがシステムにインストールされているかどうかを確認する他の方法です
確認する方法は他にもたくさんあります。コンテキストをもっと教えていただければ(libjpegがインストールされているかどうかを確認する必要があります)、特定のケースに最適なソリューションを提供できます。
debベースの配布では、次のことができます。
dpkg -s packagename
または、ファイル名のみがわかっている場合は、使用します
locate filename
ファイル名は通常libsomething.so [.version]です。
dpkg -s
ことは、ライブラリ自体から微妙にまたは大幅に異なる可能性があり、実際のパッケージ名を、望んでいるので、ユーティリティでは限られました。私が使用しますdpkg -s|grep LIBRARY
Redhatベースのシステムでは、pkg-configを使用して、ライブラリがインストールされているかどうかを確認できます。多くのrpmバイナリは、インストールを続行する前に実際に同じチェックを行うため、その信頼性に合理的に依存できます。
pkg-config --cflags jpeg
pkg-config --libs jpeg
pkg-config --cflags "jpeg >= 1.0.0" # for version check
pkg-config --modversion jpeg | awk -F. '{ printf "0x%02X%02X%02X\n",$1,$2,$3 }' #version check
これは、Linuxの構成ツールによって常に行われます。
autoconfとKDevelopに関するこのチュートリアルをご覧ください。
他のトリックではldconfig
、やなどのコマンドを使用しますdpkg
。