GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでソースコードからソフトウェアをコンパイルするための基本

時々、ソースコードからソフトウェア/プログラムをコンパイルしたい、またはコンパイルする必要があるかもしれません。これには、CまたはC++コードをLinuxで実行できるものにコンパイルすることが含まれます。コンパイルするソフトウェアによっては、コンパイルする必要がない場合がよくあります。これは、ディストリビューションのプログラムのバイナリ形式がすでにソフトウェアリポジトリにある可能性が高いためです。

実際、ソースからコンパイルするのではなく、バイナリパッケージを選択する必要があります。 1つの理由は、システムに問題が発生する可能性があることです。ただし、ソースからコンパイルする必要がある場合は、このガイドでいくつかの基本的なヒントを説明します。

典型的な例

CまたはC++で書かれたプログラムを見てみましょう。ソースコードのダウンロードには、多くの場合、パッケージ(多くの場合tarball)のダウンロードと解凍、またはgitリポジトリのクローン作成が含まれます。一般的な操作方法は、次の3つのコマンドの実行です。$

./configure
$ make
$ sudo make install 

最初のコマンドは、システムにインストールされているライブラリを分析するconfigureスクリプトを実行します。必要なライブラリがインストールされていない場合は、それが報告されるため、インストールする必要があります。ライブラリをインストールする必要があるだけでなく、開発ファイルも存在する必要があります。ソースコードファイルは、これらのライブラリにある機能を使用します。

configureコマンドを実行した後、Makefileが存在する必要があります。 「make」を実行すると、現在のディレクトリにあるMakefileが読み取られ、コンパイラ(Cの場合はgcc、C ++の場合はg++)の実行が開始され、ソフトウェアがコンパイルされます。

3番目のコマンドは厳密には必須ではありませんが、ターミナルのどこからでも実行可能ファイルを実行するシステム全体のアクセスに推奨されます。このコマンドは、プログラムをシステムにインストールするための命令を実行するように「make」に指示します。

INSTALLまたはREADMEファイル

コンパイルを開始する前に完了する必要のある追加の指示がある場合があります。このファイル(通常はINSTALL)を読むと、最初にインストールする必要のある開発ライブラリも明らかになります。このようなパッケージには、これらが開発ヘッダーであり、インストールする必要があることを示す接尾辞「-dev」が含まれます。 configureスクリプトには、追加のパラメーターも必要になる場合があります。 READMEにはその他の情報が含まれます。

プロセス全体で3つのコマンドのいずれも実行されない場合もあります。代わりに、qmake(Qtプロジェクト用)やcmakeなどのmakeのバリエーションも使用できます。

GitHubプログラムをインストールする

GitHubにあるwxMEditというテキストエディタをインストールすることから始めましょう。ここでは、ソースからコンパイルしてプログラムをインストールする方法を示します。これは、このガイドの範囲のほぼ典型的な例です。 GitHubリポジトリにアクセスすると、readmeファイルにアプリケーションに関する詳細が含まれていることがわかります。コンパイル手順がないため、標準のシーケンスが適用されますが、1つの違いがあります:autogen.sh。

まず、リポジトリをターミナルに保存する場所に変更し、クローンを作成します:

$ cd wherever
$ git clone git://github.com/wxMEdit/wxMEdit.git   

Autogen.sh

ソースコードでこのファイルを見つけた場合は、「。/ configure」の前に最初にこれを実行する必要があります。これにより、ソフトウェアを正常にコンパイルできるタスクが実行されます。それが成功した場合は、「。/ configure」、「make」、「sudo make install」など、実行する必要のあるもの(この場合は他に何もありません)を実行できます。

$ ./autogen.sh 
$ ./configure 
$ make 

make出力にエラーは表示されないはずです。

$ sudo make install 

トラブルシューティング

定期的に行うと、ソースからコンパイルするときに特定の問題が発生することになります。

ライブラリがありません

バイナリライブラリをインストールするだけでは不十分であることを忘れないでください。ソースファイルまたは開発ヘッダーもインストールする必要があります。 configureスクリプトは、ドキュメントとともに、通常、コンパイルを成功させるためにインストールする必要のあるライブラリ(開発ヘッダー)を警告します。これらがシステムにインストールされていることを確認してください。

インストールされ、その他のエラーが発生する

結論

ソフトウェアのコンパイル 非常に単純な場合もあれば、非常に苦痛な場合もあります。幸い、多くのLinuxディストリビューションでは、すぐにインストールできるバイナリパッケージが提供されているため、通常、ソースからコンパイルする必要はありません。ディストリビューションが提供するソフトウェアリポジトリが利用できる場合は、それらが提供するバイナリパッケージを使用することをお勧めします。


Linux
  1. トップ5のソースコードリポジトリ

  2. Netstatのソースコード?

  3. Scribus –オープンソースのデスクトップパブリッシングソフトウェア

  1. Linux コマンドのソース コードを入手する

  2. Linux でソース コードからソフトウェアをコンパイルしてインストールする方法

  3. Linux コマンド ラインの基本 – コマンド ラインからのコマンドの実行

  1. ソースコードを使用してLinuxにphpMyAdminをインストールする方法

  2. ソースコードからnanoエディターをインストールする方法

  3. CコードからLinuxカーネルモジュールをロードする方法は?