137

Default cmake version of 14.04 is 2.8. How can I install cmake 3.2 and replace the default one? Or how can I upgrade 2.8 to 3.2?

1
  • 2
    Be aware that some system-installed packages will not work correctly with cmake 3.2 on 14.04. For example Eigen installs its CMake modules in /usr/share/cmake-2.8, where they obviously can't be found by CMake 3.2. Dec 12, 2016 at 13:50

8 Answers 8

207

Either use a PPA or compile it yourself:

  1. Installation by a PPA (Upgrade to 3.2)

    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:george-edison55/cmake-3.x
    sudo apt-get update
    
    • When cmake is not yet installed:

      sudo apt-get install cmake
      
    • When cmake is already installed:

      sudo apt-get upgrade
      
  2. Compile it yourself

    Currently, the latest version is 3.2.2, the following instructions based on this version. You should therefore check this URL and adjust the file name accordingly.

    sudo apt-get install build-essential
    wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz
    tar xf cmake-3.2.2.tar.gz
    cd cmake-3.2.2
    ./configure
    make
    

    Now you can have to choose an installation type to decide, I recommend installing with checkinstall, as this creates a DEB package.

    • With checkinstall

      sudo apt-get install checkinstall
      sudo checkinstall
      
    • With make install

      sudo make install
      
21
  • 10
    The first method doesn't work for me. I run both install or upgrade and both are no-op for me. Install from source works, and I like the approach to install as .deb package.
    – ycshao
    Apr 20, 2015 at 1:59
  • 15
    Yeah, the first method doesn't work for me either.
    – weberc2
    Sep 1, 2015 at 16:19
  • Method 1 doesn't work and I had to purge the cmake package to get back to a working cmake (2.8) by reinstalling. Method 2 works fine. Sep 4, 2015 at 12:31
  • 3
    Method 1 did not initially work for me (it installed, but cmake did not work correctly due to things like CMAKE_ROOT not being found), but after purging the cmake package (as well as cmake-data just in case) and then reinstalling 3.2 through apt-get it worked fine.
    – JAB
    Sep 9, 2015 at 20:01
  • Oh, and if you don't have add-apt-repository (I didn't, assumedly because I was installing on a slimmed-down VM), you need to install the software-properties-common package.
    – JAB
    Sep 9, 2015 at 21:12
39

There are three options:

  • install from a PPA
  • install the pre-built binary distribution from cmake.org
  • compile it yourself

Installation from PPA

sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt-get update

When cmake is not already installed:

sudo apt-get install cmake

When cmake is already installed:

sudo apt-get upgrade

Installation from cmake.org binary distrubtion

curl -sSL https://cmake.org/files/v3.5/cmake-3.5.2-Linux-x86_64.tar.gz | sudo tar -xzC /opt

CMake executables will be in /opt/cmake-3.5.2-Linux-x86_64/bin/.

Compile it yourself

Currently, the latest version is 3.5.2, the following instructions based on this version. You should therefore check the download page and adjust the file name accordingly.

sudo apt-get install build-essential
wget http://www.cmake.org/files/v3.5/cmake-3.5.2.tar.gz
tar xf cmake-3.5.2.tar.gz
cd cmake-3.5.2
./configure
make

Now you can have to choose an installation type to decide, I recommend installing with checkinstall, as this creates a DEB package.

  • with checkinstall

    sudo apt-get install checkinstall
    sudo checkinstall
    
  • with make install

    sudo make install
    
1
  • 3
    It adds a "Installation from cmake.org binary distrubtion" option. Also improves the formatting and bumps the cmake download URL to the newest release. I tried to just edit the accepted answer but my edits where not accepted by the author.
    – nocnokneo
    Aug 27, 2015 at 20:53
14

I am not sure if I am late to the party, but recently on Ubuntu 14.04 I faced same issues and this is how I got it solved. First, you need to remove the existing cmake by executing the command:

sudo apt-get remove cmake

Hit return or enter. Next, you need to install cmake3 by using the following commands:

sudo apt-get update 

sudo apt-get upgrade 

sudo apt-get install cmake3

Assuming, my answer will get old in few years, consider searching for a cmake package that has a number associated with it. For example, at this time, cmake3 works for me.

To do so, all you have to execute is

apt-cache search cmake

Once you find the package, just install as suggested.

Thank you
Happy Coding!

3
  • 2
    Yeah, simply sudo apt-get install cmake works well.
    – Eric
    Mar 20, 2018 at 2:17
  • @EricWang Yea Eric, now with Ubuntu 16.04 and above it works fine.
    – Fennec
    Mar 20, 2018 at 5:23
  • 1
    This must be an accepted answer
    – Trect
    Aug 20, 2018 at 7:31
8

Try to build it from source, install it and adjust your $PATH variables to make it available. Maybe you should add the exported variables to your bashrc. That is basically how I would do it, please change file and folder names to your needs:

sudo apt-get install build-essential
wget http://url.to/cmake-3.2-src.tar.gz
tar xzf cmake-3.2-src.tar.gz
cd cmake-3.2-src
./configure
make
# If make finishes without errors:
sudo make install
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
cmake --version # This should give v3.2
2
  • 1
    The URL does not work.
    – A.B.
    Apr 17, 2015 at 7:34
  • 4
    An working URL will not point to newer versions in the future, please check cmake's website for the most recent version.
    – Oliver R.
    Apr 17, 2015 at 7:55
4

For Ubuntu 20.04 LTS simply run:

sudo apt install cmake
1

Just install the latest from the sh from https://cmake.org/download/

cd /usr
sudo wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh -P /usr/
sudo chmod 755 /usr/cmake-3.8.2-Linux-x86_64.sh
sudo ./cmake-3.8.2-Linux-x86_64.sh
1

Try:

sudo snap install cmake --classic
0
0

For me, all I needed was:

apt-get -y install cmake

I found that info here.

You must log in to answer this question.

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