昨日、GNU Netというプログラムをダウンロードしようとしましたが、./configureを試したときにライブラリがないというエラーが何度も発生しました。不足しているパッケージをダウンロードしようとしたときも同じことが起こりました。不足しているパッケージをダウンロードしようとするたびに、一歩進んで、不足しているパッケージをダウンロードしようとします。これは官僚制です。結局、再起動すると問題が発生し、コンピュータをフォーマットする必要がありました。私の質問は:ソフトウェアマネージャにリストされていない場合は、Linux(Mint)からソフトウェアをダウンロードするより簡単で便利な方法がありますか?それとも一般的に使用されているライブラリをダウンロードしますか?
答え1
はい。まず、必要なプログラムのほとんどがリポジトリにあります。つまり、ソフトウェアセンターまたはコマンドapt-get install
を介してインストールできます。これはインストールするプログラムの場合であり、ソフトウェアセンターにあり、次の方法でインストールできます。
sudo apt-get install gnunet
ソフトウェアセンターでソフトウェアが利用できない場合は、ソフトウェアソースのリストが正しく構成されていません。おそらく、Mintをインストールするときに存在しなければならなかったUbuntuリポジトリを無効にした可能性があります。gnunet
パッケージお持ちですか?Ubuntuリポジトリにあるため、直接インストールできない理由はありません。
リポジトリにないプログラムの場合、ほとんどの場合そのパッケージが見つかるため、ソースからインストールする必要はありません。
最後に、ソースからインストールする必要がある場合は、次のコマンドを実行してDebian派生ディストリビューション(Linux Mintなど)から必要なほとんどのツールを入手できます。
sudo apt-get install build-essential
ただし、ほとんどの場合、ソースからインストールすることを選択すると、インストールしたものよりも最新バージョンのライブラリに依存する可能性がある最新バージョンのプログラムをコンパイルします。これにより、一般的に既知の結果が生じる可能性があります。「依存地獄」それがここであなたに起こるものです。このような状況になると、インストールconfigure
したいソフトウェアに付属のスクリプトが何を欠いているのかがわかります。次のようなメッセージが表示されます。
Checking for foo: no foo found
foo
何でもできます。ほとんどの場合、この問題はパッケージと関連パッケージ(foo
何が起こっても付属の開発ライブラリ)を検索することで解決できます。ここでは例として使用しています。.dev
foo
libaa1
$ apt-cache search libaa1
libaa1 - ASCII art library
libaa1-dbg - ASCII art library, debugging symbols
libaa1-dev - ASCII art library, development kit
依存関係を解決するには、次を実行できます。
sudo apt-get install libaa1-dev
幸い、最近はソースでコンパイルする必要はほとんどありませんので、次回はソフトウェアセンターを使用してください。
答え2
コマンドラインからパッケージを簡単に検索するには、aptitudeをインストールすることもできます。
sudo apt-get install aptitude
それではできます。
sudo aptitude search gnunet
本当にソースからビルドするには、gccコンパイラ、make、およびライブラリを含む開発者ツールをインストールする必要があります。インストールする依存関係に応じて、より多くのものがある可能性があります。
sudo apt-get install build-essential