146
/usr/bin/perl install-module.pl --all
ERROR: Using install-module.pl requires that you install "make".

I need to install make on my ubuntu on AWS EC2. How can I do that ? I could finally install build-essential also successfully.

# make
make: *** No targets specified and no makefile found.  Stop.
6
  • which ubuntu version do you use?
    – tampis
    Jul 8, 2012 at 3:00
  • Version I am using is 11.04 (GNU/Linux 2.6.38-8-virtual x86_64) Jul 8, 2012 at 3:07
  • 2
    just saw, that on my ubuntu 12.04 there is also a package make. probably sudo apt-get install make will work...
    – tampis
    Jul 8, 2012 at 3:10
  • sudo apt-get install make Reading package lists... Done Building dependency tree Reading state information... Done Package make is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'make' has no installation candidate Jul 8, 2012 at 3:24
  • 1
    The make package definitely should be available; I have version 3.81-8.1ubuntu1 on my system. You might have a problem with your /etc/apt/sources.list, which defines where apt-get looks for packages. Jul 8, 2012 at 6:16

4 Answers 4

244

Run the command:

sudo apt-get install build-essential

Chances are you will need things like gcc to actually do the building so you might as well install those as well. The build-essential package will install other tools used along with make.

3
  • 24
    apt-get -y install make worked for me in a Dockerfile.
    – Asclepius
    Oct 11, 2020 at 18:16
  • 2
    @Acumenus Whether it worked in a Dockerfile or not, it doesn't currently work in Ubuntu Focal 20.04. The Dockerfile you were using could have been using an image from any version of Ubuntu, so this statement isn't very helpful to others. Jun 30, 2021 at 20:33
  • I am running Ubuntu Focal 20.04 natively and apt-get install make works just fine. It's also much nicer in a Dockerfile for just being lighter.
    – Stabledog
    Sep 7, 2022 at 9:36
12

sudo apt-get update

sudo apt-get -y install make

(-y = answer 'yes' to any prompts)

Check the installed version:

make -v

5

It definitely looks like make is installed on your box. The reply you are getting is actually an error generated by make, complaining that it can't file the Makefile (which would tell it what needs to be done)

Is there any Makefile.pl in the module you are trying to install? If so, try:

$ perl Makefile.pl
$ make
0

As tuxpiper says, make is already installed. What reveals this is the "No targets specified and no makefile found" message, which is produced by make itself.1

install-module.pl is an installation script that is part of Bugzilla. There isn't enough information in the question to be entirely certain that Bugzilla is what's being installed--perhaps there is other software that ships with a script by that name--but the exact problem described here is one that people have had while installing Bugzilla.

The problem in this situation is that, behind the scenes, install-module.pl uses cpan (a Perl package manager) which doesn't find and use make even though it is installed.

3h4x has given a solution to this. You can help cpan find make by running

cpan

to enter the cpan shell, and then running the CPAN commands:

o conf make '/usr/bin/make'
o conf commit

Source: This answer, by 3h4x, to Bugzilla install-module.pl can't find “make” but it's installed and in my path

Note that the module being referred to here in the script name is a Perl module, and not any other kind of module such as a kernel module. So if you did not already have make and the other necessary development tools, installing build-essential should be sufficient to provide them, though it doesn't substitute for configuring cpan if necessary.

This question is old and the problem may no longer be common. So I suggest that users installing Bugzilla on newer Ubuntu systems not run those cpan commands until they have actually observed the problem with make not being found even though it's installed.

1 I've posted about this before, apparently. I had forgotten about that when I wrote this answer. But it turns out this answer is a bit different. For now I'll keep this answer, which addresses the broader issues like what software this applies to, what kind of modules are being referred to, and how readers shouldn't assume they'll have this problem today. But I've made it community-wiki so other people can edit it more easily and so I don't generate reputation from it.

You must log in to answer this question.

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