Ubuntu – Make 3.82+ on Ubuntu 12.04

12.04compilingmake

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?

Best Answer

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.

Related Question