2

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?

3
  • What's the output of which make?
    – muru
    Aug 9, 2014 at 13:29
  • /usr/local/bin/make - which is 3.82. But if I run /usr/bin/make --version I get 3.81 Aug 9, 2014 at 13:48
  • 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.
    – muru
    Aug 9, 2014 at 13:57

1 Answer 1

4

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .