The make command is an essential utility for building and compiling software from source code in Linux environments. Developers and system administrators often encounter the following error when trying to run it:
bash
CopyEdit
bash: make: command not found
This error simply means that the make tool is not installed on your system or is not accessible in your PATH. Without it, you won't be able to compile many open-source programs or custom software packages.
At Go4hosting, where we provide Linux cloud servers, dedicated servers, and developer-friendly hosting environments, this is one of the most common beginner issues our support team encounters. Fortunately, it's very easy to fix.
In this guide, you'll learn:
What the make command does
Why you're seeing the "command not found" error
How to install make on different Linux distributions
Additional troubleshooting tips
What Is the make Command?
The make utility is a build automation tool. It reads a file called a Makefile, which contains a list of instructions on how to compile and link a program.
Typical tasks that make automates include:
Compiling source code (.c, .cpp, etc.)
Linking object files (.o)
Running tests
Installing compiled software
Why use make?
It only recompiles parts of the project that have changed.
It automates complex build processes.
It makes compiling large projects reproducible and consistent.
Many open-source projects require you to run make after running ./configure or cmake to build the software.
Why You See bash: make: command not found
When you see:
bash
CopyEdit
bash: make: command not found
It means:
The make utility is not installed on your system.
The make binary is installed but not in a directory listed in your system's PATH variable.
Most minimal Linux installations (such as Ubuntu Server, Debian minimal, or cloud images on Go4hosting Cloud VPS) do not install development tools like make by default. This is why you may encounter this error after spinning up a new server or VM.
How to Check if make Is Installed
You can check whether make is installed with this command:
bash
CopyEdit
make --version
If it is installed, you will see version information like:
bash
CopyEdit
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
If it is not installed, you will see:
bash
CopyEdit
bash: make: command not found
How to Install make
The solution is simply to install make using your Linux distribution's package manager. Here's how:
On Ubuntu / Debian
Update your package list:
bash
CopyEdit
sudo apt update
Install make:
bash
CopyEdit
sudo apt install build-essential
Tip: The build-essential package installs make, the GCC compiler, and other tools needed to compile software on Ubuntu/Debian. It is the recommended meta-package to install.
Alternatively, if you only want make:
bash
CopyEdit
sudo apt install make
On CentOS / RHEL / Rocky Linux / AlmaLinux
Install Development Tools group:
bash
CopyEdit
sudo yum groupinstall "Development Tools"
This installs make, GCC, and many other build tools.
Or, install just make:
bash
CopyEdit
sudo yum install make
For CentOS 8+ and newer distros using dnf:
bash
CopyEdit
sudo dnf install make
On Fedora
bash
CopyEdit
sudo dnf install make
On Arch Linux / Manjaro
bash
CopyEdit
sudo pacman -S make
On SUSE / openSUSE
bash
CopyEdit
sudo zypper install make
Verify Installation
After installation, verify that make is working:
bash
CopyEdit
make --version
If installed successfully, you should no longer see the "command not found" error.
Common Scenarios Where make Is Needed
You will typically need make when:
Compiling software from source (after ./configure or cmake).
Building kernel modules.
Installing drivers manually.
Developing C/C++ applications.
Building Python packages with native extensions.
Working with any project that includes a Makefile.
Troubleshooting Tips
1. make Installed but Still "Command Not Found"
If you installed make but still see the error:
bash
CopyEdit
bash: make: command not found
Check that /usr/bin/make or /bin/make exists:
bash
CopyEdit
which make
If the path is not shown, check your PATH variable:
bash
CopyEdit
echo $PATH
If necessary, add /usr/bin or the correct directory to your PATH:
bash
CopyEdit
export PATH=$PATH:/usr/bin
To make this permanent, add the line above to your ~/.bashrc or ~/.profile.
2. Installing Specific Version of make
If you need a newer version of make than what your package manager provides:
bash
CopyEdit
tar -xvf make-*.tar.gz
cd make-*
bash
CopyEdit
./configure
make
sudo make install
3. Using make Inside Containers
If you're using Docker or LXC/LXD, your container images might not include make by default. You'll need to add it in your Dockerfile or during container setup:
For example, in Dockerfile:
dockerfile
CopyEdit
RUN apt update && apt install -y build-essential
Why Doesn't make Come Pre-installed?
Most minimal Linux installations intentionally exclude development tools like make, GCC, etc., to:
This is why on Go4hosting's cloud servers, VPS hosting, and dedicated servers, you often need to install these tools manually if you plan to build software.
Final Notes
Best Practices
If you're doing software development or compiling software frequently, install the full build-essential package on Debian/Ubuntu or Development Tools group on RHEL-based distros.
If you only need make occasionally, installing make alone is sufficient.
Use Cases for make on Go4hosting Cloud
On Go4hosting Cloud VPS server or dedicated servers, users typically install make to:
Build web servers (Nginx with custom modules).
Compile optimized database servers.
Build custom kernels.
Compile scientific or data analysis tools.
Build optimized Python environments (with C extensions).
Compile AI/ML frameworks (TensorFlow, PyTorch from source).
Having a properly configured build environment is essential for maximum flexibility on your server.
Conclusion
The error bash: make: command not found is very common but also very easy to fix. It simply means make is not installed yet.
To summarize:
Use your package manager to install make.
On Ubuntu/Debian, sudo apt install build-essential is the best option.
On CentOS/RHEL, sudo yum groupinstall "Development Tools" is recommended.
Verify your installation with make --version.
If using cloud servers or containers, remember to add make during setup.
At Go4hosting, we make it easy to deploy Linux servers optimized for development and production use. Whether you need a cloud server, dedicated server, or container-based hosting, our infrastructure supports all the tools you need-including GNU Make-to build and run modern applications.
Need help configuring your development environment on a Go4hosting server?
Contact our support team-we're here 24/7 to assist you!