Make 3.82+ on Ubuntu 12.04

9,485

Since the configure script seems to be looking at a specific location for make, I think you have two options:

  1. Edit the configure script to force usage of the other make, not recommended since the path maybe hardcoded in any number of places.
  2. Replace /usr/bin/make with the new version.

I can't find a PPA offering a higher version of make, so I see two ways out:

The easier way:

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

This way, you get a backup of the original make and can still call the old one.

The longer way: Use checkinstall to manage the installation. Delete the files installed by using make install, then do:

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

This adds the new make to to apt's database, making it easier to remove, upgrade or downgrade.

Share:
9,485

Related videos on Youtube

Terence Eden
Author by

Terence Eden

Updated on September 18, 2022

Comments

  • Terence Eden
    Terence Eden over 1 year

    I'm trying to compile some software on Ubuntu 12.04 (64 bit). It fails with this error.

    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.
    

    Checking

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

    I downloaded 3.82 from http://ftp.gnu.org/gnu/make/ ... then ran:

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

    But, I'm still getting the above error message.

    Is there any way I can ensure this is the only version of make on my system? Or a way I can install a higher version of make 3.X?

    • muru
      muru almost 10 years
      What's the output of which make?
    • Terence Eden
      Terence Eden almost 10 years
      /usr/local/bin/make - which is 3.82. But if I run /usr/bin/make --version I get 3.81
    • muru
      muru almost 10 years
      I don't recall if the make package uses symlinks like say, gcc does. So since the configure script is checking for /usr/bin/make explicitly, you can either edit that script or replace /usr/bin/make with a symlink to /usr/local/bin/make.