mirror of https://github.com/davisking/dlib.git
Give python users clear instructions about how to install cmake
This commit is contained in:
parent
3ca155da68
commit
aba96b576a
43
setup.py
43
setup.py
|
@ -115,7 +115,45 @@ class CMakeBuild(build_ext):
|
||||||
try:
|
try:
|
||||||
out = subprocess.check_output(['cmake', '--version'])
|
out = subprocess.check_output(['cmake', '--version'])
|
||||||
except:
|
except:
|
||||||
sys.stderr.write("\nERROR: CMake must be installed to build dlib\n\n")
|
sys.stderr.write("""
|
||||||
|
================================================================================
|
||||||
|
================================================================================
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
CMake is not installed on your system!
|
||||||
|
|
||||||
|
Or it is possible some broken copy of cmake is installed on your system.
|
||||||
|
It is unfortunately very common for python package managers to include
|
||||||
|
broken copies of cmake. So if the error above this refers to some file
|
||||||
|
path to a cmake file inside a python or anaconda or miniconda path then you
|
||||||
|
should delete that broken copy of cmake from your computer.
|
||||||
|
|
||||||
|
Instead, please get an official copy of cmake from one of these known good
|
||||||
|
sources of an official cmake:
|
||||||
|
- cmake.org (this is how windows users should get cmake)
|
||||||
|
- apt install cmake (for Ubuntu or Debian based systems)
|
||||||
|
- yum install cmake (for Redhat or CenOS based systems)
|
||||||
|
|
||||||
|
On a linux machine you can run `which cmake` to see what cmake you are
|
||||||
|
actually using. If it tells you it's some cmake from any kind of python
|
||||||
|
packager delete it and install an official cmake.
|
||||||
|
|
||||||
|
More generally, cmake is not installed if when you open a terminal window
|
||||||
|
and type
|
||||||
|
cmake --version
|
||||||
|
you get an error. So you can use that as a very basic test to see if you
|
||||||
|
have cmake installed. That is, if cmake --version doesn't run from the
|
||||||
|
same terminal window from which you are reading this error message, then
|
||||||
|
you have not installed cmake. Windows users should take note that they
|
||||||
|
need to tell the cmake installer to add cmake to their PATH. Since you
|
||||||
|
can't run commands that are not in your PATH. This is how the PATH works
|
||||||
|
on Linux as well, but failing to add cmake to the PATH is a particularly
|
||||||
|
common problem on windows and rarely a problem on Linux.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
================================================================================
|
||||||
|
================================================================================
|
||||||
|
""")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
return re.search(r'version\s*([\d.]+)', out.decode()).group(1)
|
return re.search(r'version\s*([\d.]+)', out.decode()).group(1)
|
||||||
|
|
||||||
|
@ -199,8 +237,7 @@ def read_version_from_cmakelists(cmake_file):
|
||||||
return major + '.' + minor + '.' + patch
|
return major + '.' + minor + '.' + patch
|
||||||
|
|
||||||
def read_entire_file(fname):
|
def read_entire_file(fname):
|
||||||
"""Read text out of a file relative to setup.py.
|
"""Read text out of a file relative to setup.py. """
|
||||||
"""
|
|
||||||
return open(os.path.join(fname)).read()
|
return open(os.path.join(fname)).read()
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
|
|
Loading…
Reference in New Issue