CMake is an open-source, cross-platform tool that is used for building, testing, and packaging software. It is widely used in the software development industry for its efficient build system, which enables users to write platform-independent build scripts.
CentOS is a popular Linux distribution that is widely used in enterprise environments. In this article, we will discuss how to update CMake from version 2.8.11 to version 3.6.2 or newer on CentOS Linux.
On CentOS 7, using yum install gives you cmake version 2.8.11
1 |
cat /etc/*release |
CentOS Linux release 7.2.1511 (Core)
1 |
yum info cmake |
1 2 3 4 5 |
Installed Packages Name : cmake Arch : x86_64 Version : 2.8.11 |
In order to install version 3.6.2 or newer version, first uninstall it with yum remove
1 |
sudo yum remove cmake -y |
If you don’t perform the above step to remove old CMake version, you may see below error after the final step that you installed the newer CMake version.
CMake has most likely not been installed correctly
CMake has most likely not been installed correctly
Download, extrace, compile and install the code cmake-3.6.2.tar.gz from https://cmake.org/download/
1 |
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz |
1 |
tar -zxvf cmake-3.6.2.tar.gz |
1 |
cd cmake-3.6.2 |
1 |
sudo ./bootstrap --prefix=/usr/local |
1 |
sudo make |
1 |
sudo make install |
1 |
nano ~/.bash_profile |
1 |
PATH=/usr/local/bin:$PATH:$HOME/bin |
This way
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs # PATH=$PATH:$HOME/bin PATH=/usr/local/bin:$PATH:$HOME/bin export PATH |
1 |
cmake --version |
cmake version 3.6.2
How do I uninstall ?
yum remove cmake -y
You don’t really need to uninstall an older cmake due to it is installed in another path (/usr/bin), but you are installing a newer version to /usr/local/bin which goes before /usr/bin during PATH parsing.
Thank you. I was trying to work with ESP32 Lyra boards and didn’t have the correct version.