I tried to install PyTorch on my Linux CentOS 7.3. I downloaded its package, ran this command and got this error:
sudo python setup.py install
running install
running build_deps
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
CMake 3.0 or higher is required. You are running version 2.8.12.2
-- Configuring incomplete, errors occurred!
So I tried to install CMake 3 by using the command
sudo yum -y install cmake3
The installation went alright, but the system still uses cmake2.8 as default. If I type the yum info comnmand, I get this:
sudo yum info cmake
Installed Packages
Name : cmake
Arch : x86_64
Version : 2.8.12.2
Release : 2.el7
Size : 27 M
Repo : installed
From repo : base
Summary : Cross-platform make system
URL : http://www.cmake.org
License : BSD and MIT and zlib
Description : CMake is used to control the software compilation process using simple
: platform and compiler independent configuration files. CMake generates
: native makefiles and workspaces that can be used in the compiler
: environment of your choice. CMake is quite sophisticated: it is possible
: to support complex environments requiring system configuration, preprocessor
: generation, code generation, and template instantiation.
So, the problem is clear: the system still sees cmake2.8 as default, and therefore Python does not use cmake3 for its PyTorch installation. How can I solve this problem?
Thanks
On Centos, package
cmake3
contains an executable namedcmake3
. Because most programs executecmake
, they don't find cmake3.As usual, you may somewhere create a link named
cmake
which points to/usr/bin/cmake3
and place directory to this link in the PATH variable before other directories.In case you don't have root access, just create a link like this:
Once you have both the
cmake
and thecmake3
package installed on your machine, you can use update-alternatives to switch between both packages.Use the
alternatives
command to register both installations:After these two commands,
cmake3
will be invoked by default, when you entercmake
from a bash prompt or start a bash script. The commands also take care of registering a few additional slave commands likectest
which need to be switched along withcmake
.If you need to switch back to cmake 2.8 as the default, run the following command: