Quick Links
Summary
To fix the “make: command not found” error on Ubuntu Linux, you will need to install make. To install make, run the “sudo apt install make” command or, to install the standard development tools at the same time, use the “sudo apt install build-essential” command.
StandardUbuntuinstalls don’t include the Linuxmakeutility. It’s used mainly by software developers, but even non-coders may need it in some situations. Here’s how to installmakeon Ubuntu Linux.

What “make: command not found” Means
If you’re seeing the “make: command not found” error on Ubuntu (or another Linux distribution), that means themakecommand isn’t currently installed on your system. That’s normal—Ubuntu doesn’t install themakecommand by default.
The
utility is often used when compiling software from source code on Linux. Whether you’re trying to run the
command directly yourself or you’re using a piece of software that is calling

in the background, you will see the “make: command not found” error saying it’s not installed.
To fix the “make: command not found” error, you just need to installmake. You can do that withapt, Ubuntu’s standard package manager.
How to Fix “make: command not found” on Ubuntu
To fix “make: command not found” on Ubuntu, you will need to install themakeutility.
To install just themakeutility, run the following command in a Terminal:
We recommend installing the build-essential package, which also includesmakeas well as other critical packages for building software. Run the following command in a terminal to install it:
After installingmake, you will no longer see the “make: command not found” error. You can run amakecommand directly from the command line or launch an installation script that depends onmakeonce again to continue.
What Is the make Utility?
Themaketool is a command-line utility that assists in building software projects. To appreciate its usefulness, though, you have to understand how software is normally developed. When programmers write code they type their program instructions into aneditoror anintegrated development environment. Something has to happen to convert the text files into an executable binary. That step is called compilation, and it requires a program called a compiler.
The compiler reads the source code files, and translates them into low-level instructions that theCPUcan understand. It generates a binary file containing all of those instructions. It’s the binary file that gets called and executed when you try to run your program.
Compilers are complicatedpieces of software. They have a great many command line options that can be invoked, for each file that they need to compile. And a complicated development project can have hundreds of different source code files. That’s a lot of settings to have to keep track of. Another complication is you don’t want to compile files that haven’t changed since they were last compiled. That’s a waste of time.
A makefile is a simple text file that holds all the settings and rules required for the development project to be built into an executable binary file. It also avoids the recompilation of files that haven’t changed since the previous compile. The program that reads the makefile and coordinates the building of the project ismake.
The controlled recompilation and build of the project can be carried out by issuing one command:make. Some integrated development environments use auto-generated makefiles and carry out the compile phase by callingmakein the background.
I’m Not a Programmer, Why Should I Care?
Its primary user base might be programmers, but there may still be reasons why you might needmakeinstalled on your computer, even if you never write a line of code.
Related:How to Install Software Using Git on Linux
Some software packages don’t get wrapped into installation files. To obtain a working version of the program you either have to download an archive file containing all the source code, or you need toclone the program’s Git repositoryto obtain the source code, and then runmake.
If youuse VirtualBox to run other Linux distributionsas virtual machines, you’ll know that for the best experience you need toinstall the VirtualBox Guest Additionsinside the guest operating system. To do this, the VirtualBox Guest Additions kernel modules must be built, and to accomplish that,makemust be present on the guest operating system.
How to Install make With apt
If you’re working with a new installation of Ubuntu, it won’t havemakeon it. If you’re administering a computer for someone else, it’s worth checking to see whethermakeis already installed.
Type the make command and hit “Enter.”
If you see a message frommakecomplaining that you didn’t give it a specific command and it couldn’t find a makefile, thenmakeis installed and working. you’re able to use thewhereiscommand to see where themakebinary andmanpages are located.
If you see a message from Bash saying it can’t find themakecommand, thenmakeisn’t installed.
If you haven’t applied any updates for a while, it’ll be worth running theaptcommand with theupdateoption, first.
We can installmakeeasily with this command.
However, without the default set of development toolsmakeisn’t much use. So you might as well install them. Handily, these are bundled into a single package called “build-essential.” Installing that package installs tools likegccandg++, and it also installsmake.
I usually skip the step of installingmakeon its own, and move straight to installing the “build-essential” package. It kills two birds with one stone.
Install the “build-essential” package with this command.
There’s a lot of tools in “build-essential”, and it takes a few minutes to install them all. It’s worth the small wait though, as they’ll stand you in good stead. You ought to be able to cope with all kinds of software builds now.
Related:apt vs. apt-get: What’s the Difference on Linux?
What If Bash Still Can’t Find make?
Very rarely,makeis installed but Bash still can’t find it. To solve this, we might as well try the easy option first. you’re able to force a reinstall ofmakeusing this command.
If that doesn’t work, you canuse thefindcommandto attempt to locate themakebinary. Then we can verify it is in a directory that isin the$PATHenvironment variable.
This command will search your file system from therootdirectory, looking for a file called “make.” It pipes the output intoless.
Once the search is complete, search for the word “make” inlessby pressing the forward slash “/”, typing “make” and pressing “Enter.” You’ll see all the lines that contain the word “make.”
As you can see, thefindcommand has found three files that Bash uses as part of its “Tab” command-line completions, and the binary executable. But something has gone very wrong with this installation, and themakebinary has been placed in the “/etc/” directory.
We’ll move that to where it should be, andmakeshould start to work.
Now if we try to use themakecommand, any messages we get should come frommake, and not from Bash.
Great, we’ve got make working on this computer. You will no longer see the “make: command not found” error.
If You Can make It Here
You can make it anywhere.
These techniques should work on other distributions, too. You’ll just need to substitute the installation commands for the ones used in your own distribution.
OnFedorayou can use this command to install the build tools, along withmake.
OnManjaro, use this command.
Related:How to Install Linux Software in Windows 10’s Ubuntu Bash Shell