webdevqa.jp.net

make 3.81 linuxをアップデートする方法

Linuxは初めてです(昨日インストールしたのと同じように)。大学のプログラミングコースで必要です。特定のプログラムの特定のバージョンをインストールするように言われましたが、apt-get installを使用してインストールしましたがそれらは(以前にapt-get updateを実行していた)、正しいバージョンではありません。

私が必要とするプログラムはmake 4.0とvalgrind 3.10.1です。

apt-get installs make 3.81およびvalgrind 3.10.0.SVN。

「apt-get install make4.0」および「apt-get install valgrind10.3.1」と入力してみたが、役に立たなかった。私はそれらをインターネットからダウンロードし、私が理解できる指示に従って新しいバージョンをインストールしましたが、古いバージョンがあると言い続けています。 (ここに直接リンクを投稿できるかどうか、私に知らせて、どこから取得したかを投稿するかどうかはわかりません)。

私は何を間違っていますか?どうすれば修正できますか?

現在Linux Mintを実行しています。

事前にご回答いただきありがとうございます。

11
DJA

長年の未解決のDebianバグレポートにより、GNU Makeは非常に長い間Debianに古くからの3.81を残し、その結果としてUbuntuやDebianなどのDebianベースのディストリビューションにミント。

最新のDebianリリース、Jessieは4.0にアップグレードされました 、つまり、Debianベースのディストリビューションにはそのアップグレードが含まれます。ただし、 4.1を使用することをお勧めします

これはGNU Makeメーリングリストと elsewhere で何度も議論されています。

新しいバージョンを入手するには、最初からコンパイルする必要があります。これは簡単:

  1. 必要なパッケージ(gccmakeなど)をインストールします。
  2. シェルを開きます(GUIを使用している場合は、ターミナルウィンドウ)。
  3. 次のコマンドを入力します(または同等のもの、たとえばcurlの代わりにwgetを使用できます)。

    cd /tmp
    wget http://ftp.gnu.org/gnu/make/make-4.1.tar.gz
    tar xvf make-4.1.tar.gz
    cd make-4.1/
    ./configure
    make
    Sudo make install
    cd ..
    rm -rf make-4.1.tar.gz make-4.1
    

現在、make 4.1/usr/local/bin/makeにあります。

そこにあるかどうかはwhereis makeで確認できます。

シェルスタートアップファイルの/usr/local/bin変数の前に$PATHを付けることで、これをデフォルトのmakeにすることができます。たとえば、bashシェルを使用する場合、.profileまたは.bashrc内。

自己コンパイルされたmake(またはディストリビューションのパッケージマネージャーに含まれないもの)を/binまたは/usr/binにインストールしないでください。これを行うと、パッケージマネージャーが混乱します。

23
reinierpost