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?

  • 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. – Martin Pecka Dec 12 '16 at 13:50
up vote 171 down vote accepted

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
      
  • 7
    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 '15 at 1:59
  • 14
    Yeah, the first method doesn't work for me either. – weberc2 Sep 1 '15 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. – user2746401 Sep 4 '15 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 '15 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 '15 at 21:12

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
    
  • 2
    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 '15 at 20:53

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!

  • 2
    This should be the accepted answer! Thanks. – Javi V Mar 2 at 9:04
  • Yeah, simply sudo apt-get install cmake works well. – Eric Wang Mar 20 at 2:17
  • @EricWang Yea Eric, now with Ubuntu 16.04 and above it works fine. – Fennec Mar 20 at 5:23
  • 1
    This must be an accepted answer – Dheeraj M Pai Aug 20 at 7:31

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
  • 1
    The URL does not work. – A.B. Apr 17 '15 at 7:34
  • 3
    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 '15 at 7:55

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

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.