web-dev-qa-db-ja.com

Ubuntu 12.04で3.82+を作成する

Ubuntu 12.04(64ビット)でいくつかのソフトウェアをコンパイルしようとしています。このエラーで失敗します。

checking for make... /usr/bin/make
configure: tested: whether version of /usr/bin/make is 3.82+ 
configure: ===INF===  Installed version of make is not 3.82+: 
make: *** No targets specified and no makefile found. Stop.

確認中

$ make --version
GNU Make 3.81
This program built for x86_64-pc-linux-gnu

http://ftp.gnu.org/gnu/make/ から3.82をダウンロードした後、実行しました:

./configure
Sudo make install
make --version
GNU Make 3.82

しかし、まだ上記のエラーメッセージが表示されます。

これがシステム上のmakeonlyバージョンであることを確認できる方法はありますか?または、make 3.Xの上位バージョンをインストールする方法はありますか?

2
Terence Eden

Configureスクリプトはmakeのために特定の場所を探しているように見えるので、2つのオプションがあると思います。

  1. Configureスクリプトを編集して、他のmakeの使用を強制します。パスは任意の数の場所にハードコーディングされる可能性があるため、お勧めしません。
  2. /usr/bin/makeを新しいバージョンに置き換えます。

より高いバージョンのmakeを提供するPPAが見つからないため、2つの方法があります。

より簡単な方法:

 Sudo mv /usr/bin/make /usr/bin/make-3.81
 Sudo ln -s /usr/local/bin/make /usr/bin

これにより、元のメーカーのバックアップを取得し、古いメーカーを呼び出すことができます。

より長い方法: checkinstall を使用してインストールを管理します。 make installを使用してインストールされたファイルを削除し、次の操作を行います。

Sudo apt-get install checkinstall 
./configure --prefix=/usr
make
Sudo checkinstall make install

これにより、新しいmakeがaptのデータベースに追加され、削除、アップグレード、またはダウングレードが簡単になります。

4
muru