9

The commands make and make install used to install a program from an extracted tar ball never work for some reason.

The make command gives me the error:

  make: *** No targets specified and no makefile found.  Stop.

and the make install command gives me the error:

  make: *** No rule to make target `install'.  Stop.

Why are these commands not executing? What should I do to solve this issue?

11
  • And how are you running those commands? Give an example, for instance, cd foo/, ./make ....
    – LnxSlck
    Aug 31, 2012 at 18:59
  • no just make and make install
    – Nirmik
    Aug 31, 2012 at 19:08
  • 1
    @Nirmik - please edit your question with all of the above and clean up by deleting your comments. Thanks.
    – fossfreedom
    Aug 31, 2012 at 19:38
  • 1
    what's the output of configure?
    – steabert
    Aug 31, 2012 at 19:39
  • 1
    It's not possible to reasonably answer this given the information provided. When make has no targets, either ./configure failed and should've shown an error, or the software isn't built by running ./configure then make (not everything is), or the next step after ./configure is something besides make (rare but possible). For a systemic problem, something is presumably broken in the system, but since you haven't given most of the information people have requested, there's no way to tell. At minimum full output of all commands during at least one build attempt would likely be needed. Aug 27, 2017 at 15:58

3 Answers 3

12

I think the problem is that you haven't got the dependencies for the program in question, as even though you have run ./configure there are just the files called makefile.in and makefile.am, whereas there should be a a file called Makefile without an extension.

If you run ./configure without the dependencies, it does not generate a makefile and then running make afterwards gives exactly the error you are getting:

make: *** No targets specified and no makefile found. Stop.

Therefore, download the build dependencies for your program by looking at the readme included in the download or if the program source is in the repositories and you have enabled the source repositories, run

sudo apt-get build-dep program

After obtaining the dependencies, run ./configure again and now make and make install should work as there will be a proper Makefile generated.

(You may also need to install such packages as build-essential which contains essential compiling tools)

0
2

Sometimes one needs to run autoreconf to generate the configure script, so use:

sudo apt install autoconf && autoreconf -ivf
0

Maybe when you build you do that as a user and then you do make install as root but as root you are in another directory.

Solution in this case: as root change directory to your build directory, then: make install

Worked for me in Debian Stretch.

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