davisking / dlib

A toolkit for making real world machine learning and data analysis applications in C++
http://dlib.net
Boost Software License 1.0
13.46k stars 3.37k forks source link

How dlib determine which compiler to use in the machine? #1635

Closed huguyuehuhu closed 5 years ago

huguyuehuhu commented 5 years ago

Expected Behavior

I try to install dlib by pip install dlib or build from source, but both encounter same problem: dlib detected a CXX/C compiler GUN4.4.7 ( not support C++11), but I have already installed GCC4.8.1 (support C++11). It seems dlib fail to find correct version of GCC.

Current Behavior

  1. when use pip install dlib , I got error by low version of GCC compiler:
(env10) gyhu@mic118:/DATA/118/gyhu/soft/dlib$ pip install dlib
Collecting dlib
  Using cached https://files.pythonhosted.org/packages/35/8d/e4ddf60452e2fb1ce3164f774e68968b3f110f1cb4cd353235d56875799e/dlib-19.16.0.tar.gz
Building wheels for collected packages: dlib
  Running setup.py bdist_wheel for dlib ... error
  Complete output from command /DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-u2u8fkvk/dlib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-ubouyi95 --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  package init file 'dlib/__init__.py' not found (or not a regular file)
  running build_ext
  Building extension for Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
  Invoking CMake setup: 'cmake /tmp/pip-install-u2u8fkvk/dlib/tools/python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-u2u8fkvk/dlib/build/lib.linux-x86_64-3.6 -DPYTHON_EXECUTABLE=/DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python -DCMAKE_BUILD_TYPE=Release'
  -- The C compiler identification is GNU 4.4.7
  -- The CXX compiler identification is GNU 4.4.7
  -- Check for working C compiler: /usr/bin/cc
  -- Check for working C compiler: /usr/bin/cc -- works
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++
  -- Check for working CXX compiler: /usr/bin/c++ -- works
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Found PythonInterp: /DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python (found version "3.6.8")
  -- Found PythonLibs: /DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/libpython3.6m.so
  -- Performing Test HAS_CPP14_FLAG
  -- Performing Test HAS_CPP14_FLAG - Failed
  -- Performing Test HAS_CPP11_FLAG
  -- Performing Test HAS_CPP11_FLAG - Failed
  CMake Error at /tmp/pip-install-u2u8fkvk/dlib/dlib/external/pybind11/tools/pybind11Tools.cmake:32 (message):
    Unsupported compiler -- pybind11 requires C++11 support!
  Call Stack (most recent call first):
    /tmp/pip-install-u2u8fkvk/dlib/dlib/external/pybind11/CMakeLists.txt:33 (include)

  -- Configuring incomplete, errors occurred!
  See also "/tmp/pip-install-u2u8fkvk/dlib/build/temp.linux-x86_64-3.6/CMakeFiles/CMakeOutput.log".
  See also "/tmp/pip-install-u2u8fkvk/dlib/build/temp.linux-x86_64-3.6/CMakeFiles/CMakeError.log".
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-u2u8fkvk/dlib/setup.py", line 257, in <module>
      'Topic :: Software Development',
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/site-packages/setuptools/__init__.py", line 143, in setup
      return distutils.core.setup(**attrs)
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 188, in run
      self.run_command('build')
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-u2u8fkvk/dlib/setup.py", line 133, in run
      self.build_extension(ext)
    File "/tmp/pip-install-u2u8fkvk/dlib/setup.py", line 170, in build_extension
      subprocess.check_call(cmake_setup, cwd=build_folder)
    File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/subprocess.py", line 311, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-u2u8fkvk/dlib/tools/python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-u2u8fkvk/dlib/build/lib.linux-x86_64-3.6', '-DPYTHON_EXECUTABLE=/DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.

  ----------------------------------------
  Failed building wheel for dlib
  Running setup.py clean for dlib
Failed to build dlib
Installing collected packages: dlib
  Running setup.py install for dlib ... error
    Complete output from command /DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-u2u8fkvk/dlib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-4gepn71k/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    package init file 'dlib/__init__.py' not found (or not a regular file)
    running build_ext
    Building extension for Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
    Invoking CMake setup: 'cmake /tmp/pip-install-u2u8fkvk/dlib/tools/python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-u2u8fkvk/dlib/build/lib.linux-x86_64-3.6 -DPYTHON_EXECUTABLE=/DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python -DCMAKE_BUILD_TYPE=Release'
    -- The C compiler identification is GNU 4.4.7
    -- The CXX compiler identification is GNU 4.4.7
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Found PythonInterp: /DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python (found version "3.6.8")
    -- Found PythonLibs: /DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/libpython3.6m.so
    -- Performing Test HAS_CPP14_FLAG
    -- Performing Test HAS_CPP14_FLAG - Failed
    -- Performing Test HAS_CPP11_FLAG
    -- Performing Test HAS_CPP11_FLAG - Failed
    CMake Error at /tmp/pip-install-u2u8fkvk/dlib/dlib/external/pybind11/tools/pybind11Tools.cmake:32 (message):
      Unsupported compiler -- pybind11 requires C++11 support!
    Call Stack (most recent call first):
      /tmp/pip-install-u2u8fkvk/dlib/dlib/external/pybind11/CMakeLists.txt:33 (include)

    -- Configuring incomplete, errors occurred!
    See also "/tmp/pip-install-u2u8fkvk/dlib/build/temp.linux-x86_64-3.6/CMakeFiles/CMakeOutput.log".
    See also "/tmp/pip-install-u2u8fkvk/dlib/build/temp.linux-x86_64-3.6/CMakeFiles/CMakeError.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-u2u8fkvk/dlib/setup.py", line 257, in <module>
        'Topic :: Software Development',
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/site-packages/setuptools/__init__.py", line 143, in setup
        return distutils.core.setup(**attrs)
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/command/install.py", line 545, in run
        self.run_command('build')
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/tmp/pip-install-u2u8fkvk/dlib/setup.py", line 133, in run
        self.build_extension(ext)
      File "/tmp/pip-install-u2u8fkvk/dlib/setup.py", line 170, in build_extension
        subprocess.check_call(cmake_setup, cwd=build_folder)
      File "/DATA/118/gyhu/soft/Anaconda3/envs/env10/lib/python3.6/subprocess.py", line 311, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-u2u8fkvk/dlib/tools/python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-u2u8fkvk/dlib/build/lib.linux-x86_64-3.6', '-DPYTHON_EXECUTABLE=/DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.

    ----------------------------------------
Command "/DATA/118/gyhu/soft/Anaconda3/envs/env10/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-u2u8fkvk/dlib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-4gepn71k/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-u2u8fkvk/dlib/
  1. But I indeed have a gcc/g++ 4.8.1. gcc -v & g++ -voutput as follows:
    (env10) gyhu@mic118:/DATA/118/gyhu/soft/dlib$ gcc -v
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.1/lto-wrapper
    Target: x86_64-unknown-linux-gnu
    Configured with: ../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
    Thread model: posix
    gcc version 4.8.1 (GCC)
    (env10) gyhu@mic118:/DATA/118/gyhu/soft/dlib$ g++ -v
    Using built-in specs.
    COLLECT_GCC=g++
    COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.1/lto-wrapper
    Target: x86_64-unknown-linux-gnu
    Configured with: ../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
    Thread model: posix
    gcc version 4.8.1 (GCC)
    (env10) gyhu@mic118:/DATA/118/gyhu/soft/dlib$
  2. Similarly, when I build from source by mkdir build; cd build; cmake .. ; I got similar wrong GCC/G++ version.
    
    (env10) gyhu@mic118:/DATA/118/gyhu/soft/dlib$ mkdir build; cd build; cmake .. ;
    mkdir: cannot create directory `build': File exists
    -- The C compiler identification is GNU 4.4.7
    -- The CXX compiler identification is GNU 4.4.7
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Using CMake version: 2.8.12.2
    -- Compiling dlib version: 19.16.99
    CMake Error at dlib/cmake_utils/set_compiler_specific_options.cmake:46 (message):
    C++11 is required to use dlib, but the version of GCC you are using is too
    old and doesn't support C++11.  You need GCC 4.8 or newer.
    Call Stack (most recent call first):
    dlib/CMakeLists.txt:27 (include)

-- Configuring incomplete, errors occurred! See also "/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeOutput.log".

3.  The content in above "/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeOutput.log" are

The system is: Linux - 2.6.32-696.el6.x86_64 - x86_64 Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. Compiler: /usr/bin/cc Build flags: Id flags:

The output was: 0

Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"

The C compiler identification is GNU, found in "/DATA/118/gyhu/soft/dlib/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out"

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. Compiler: /usr/bin/c++ Build flags: Id flags:

The output was: 0

Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"

The CXX compiler identification is GNU, found in "/DATA/118/gyhu/soft/dlib/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out"

Determining if the C compiler works passed with the following output: Change Dir: /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec843100261/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec843100261.dir/build.make CMakeFiles/cmTryCompileExec843100261.dir/build gmake[1]: Entering directory /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec843100261.dir/testCCompiler.c.o /usr/bin/cc -o CMakeFiles/cmTryCompileExec843100261.dir/testCCompiler.c.o -c /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/testCCompiler.c Linking C executable cmTryCompileExec843100261 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec843100261.dir/link.txt --verbose=1 /usr/bin/cc CMakeFiles/cmTryCompileExec843100261.dir/testCCompiler.c.o -o cmTryCompileExec843100261 -rdynamic gmake[1]: Leaving directory/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp'

Detecting C compiler ABI info compiled with the following output: Change Dir: /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec3769090797/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec3769090797.dir/build.make CMakeFiles/cmTryCompileExec3769090797.dir/build gmake[1]: Entering directory /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o /usr/bin/cc -o CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c Linking C executable cmTryCompileExec3769090797 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3769090797.dir/link.txt --verbose=1 /usr/bin/cc -v CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec3769090797 -rdynamic Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec3769090797' '-rdynamic' '-mtune=generic' /usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec3769090797 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o gmake[1]: Leaving directory/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp'

Parsed C implicit link information from above output: link line regex: [^( |.[/])(ld|([^/]+-)?ld|collect2)[^/]*( |$)] ignore line: [Change Dir: /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp] ignore line: [] ignore line: [Run Build Command:/usr/bin/gmake "cmTryCompileExec3769090797/fast"] ignore line: [/usr/bin/gmake -f CMakeFiles/cmTryCompileExec3769090797.dir/build.make CMakeFiles/cmTryCompileExec3769090797.dir/build] ignore line: [gmake[1]: Entering directory `/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp'] ignore line: [/usr/bin/cmake -E cmake_progress_report /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/CMakeFiles 1] ignore line: [Building C object CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o] ignore line: [/usr/bin/cc -o CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c] ignore line: [Linking C executable cmTryCompileExec3769090797] ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3769090797.dir/link.txt --verbose=1] ignore line: [/usr/bin/cc -v CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec3769090797 -rdynamic ] ignore line: [Using built-in specs.] ignore line: [Target: x86_64-redhat-linux] ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux] ignore line: [Thread model: posix] ignore line: [gcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec3769090797' '-rdynamic' '-mtune=generic'] link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec3769090797 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o] arg [/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2] ==> ignore arg [--eh-frame-hdr] ==> ignore arg [--build-id] ==> ignore arg [-m] ==> ignore arg [elf_x86_64] ==> ignore arg [--hash-style=gnu] ==> ignore arg [-export-dynamic] ==> ignore arg [-dynamic-linker] ==> ignore arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [-o] ==> ignore arg [cmTryCompileExec3769090797] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o] ==> ignore arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] arg [-L/lib/../lib64] ==> dir [/lib/../lib64] arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] arg [CMakeFiles/cmTryCompileExec3769090797.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--as-needed] ==> ignore arg [-lgcc_s] ==> lib [gcc_s] arg [--no-as-needed] ==> ignore arg [-lc] ==> lib [c] arg [-lgcc] ==> lib [gcc] arg [--as-needed] ==> ignore arg [-lgcc_s] ==> lib [gcc_s] arg [--no-as-needed] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o] ==> ignore remove lib [gcc] remove lib [gcc_s] remove lib [gcc] remove lib [gcc_s] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> [/usr/lib64] collapse library dir [/lib/../lib64] ==> [/lib64] collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> [/usr/lib] implicit libs: [c] implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib] implicit fwks: []

Determining if the CXX compiler works passed with the following output: Change Dir: /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec3546638768/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec3546638768.dir/build.make CMakeFiles/cmTryCompileExec3546638768.dir/build gmake[1]: Entering directory /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3546638768.dir/testCXXCompiler.cxx.o /usr/bin/c++ -o CMakeFiles/cmTryCompileExec3546638768.dir/testCXXCompiler.cxx.o -c /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Linking CXX executable cmTryCompileExec3546638768 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3546638768.dir/link.txt --verbose=1 /usr/bin/c++ CMakeFiles/cmTryCompileExec3546638768.dir/testCXXCompiler.cxx.o -o cmTryCompileExec3546638768 -rdynamic gmake[1]: Leaving directory/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp'

Detecting CXX compiler ABI info compiled with the following output: Change Dir: /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/gmake "cmTryCompileExec2105515984/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec2105515984.dir/build.make CMakeFiles/cmTryCompileExec2105515984.dir/build gmake[1]: Entering directory /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o /usr/bin/c++ -o CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp Linking CXX executable cmTryCompileExec2105515984 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2105515984.dir/link.txt --verbose=1 /usr/bin/c++ -v CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec2105515984 -rdynamic Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec2105515984' '-rdynamic' '-shared-libgcc' '-mtune=generic' /usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec2105515984 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o gmake[1]: Leaving directory/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp'

Parsed CXX implicit link information from above output: link line regex: [^( |.[/])(ld|([^/]+-)?ld|collect2)[^/]*( |$)] ignore line: [Change Dir: /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp] ignore line: [] ignore line: [Run Build Command:/usr/bin/gmake "cmTryCompileExec2105515984/fast"] ignore line: [/usr/bin/gmake -f CMakeFiles/cmTryCompileExec2105515984.dir/build.make CMakeFiles/cmTryCompileExec2105515984.dir/build] ignore line: [gmake[1]: Entering directory `/DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp'] ignore line: [/usr/bin/cmake -E cmake_progress_report /DATA/118/gyhu/soft/dlib/build/CMakeFiles/CMakeTmp/CMakeFiles 1] ignore line: [Building CXX object CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o] ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Linking CXX executable cmTryCompileExec2105515984] ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2105515984.dir/link.txt --verbose=1] ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec2105515984 -rdynamic ] ignore line: [Using built-in specs.] ignore line: [Target: x86_64-redhat-linux] ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux] ignore line: [Thread model: posix] ignore line: [gcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec2105515984' '-rdynamic' '-shared-libgcc' '-mtune=generic'] link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec2105515984 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o] arg [/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2] ==> ignore arg [--eh-frame-hdr] ==> ignore arg [--build-id] ==> ignore arg [-m] ==> ignore arg [elf_x86_64] ==> ignore arg [--hash-style=gnu] ==> ignore arg [-export-dynamic] ==> ignore arg [-dynamic-linker] ==> ignore arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [-o] ==> ignore arg [cmTryCompileExec2105515984] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o] ==> ignore arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] arg [-L/lib/../lib64] ==> dir [/lib/../lib64] arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] arg [CMakeFiles/cmTryCompileExec2105515984.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] arg [-lgcc] ==> lib [gcc] arg [-lc] ==> lib [c] arg [-lgcc_s] ==> lib [gcc_s] arg [-lgcc] ==> lib [gcc] arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o] ==> ignore remove lib [gcc_s] remove lib [gcc] remove lib [gcc_s] remove lib [gcc] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> [/usr/lib64] collapse library dir [/lib/../lib64] ==> [/lib64] collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> [/usr/lib] implicit libs: [stdc++;m;c] implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib] implicit fwks: []


4. So, how did dlib to find default compiler?  How to set a correct version of GCC to dlib ? Thanks.

## version:
1. OS: Centos6.0
2. dlib: 19.16.0 for pip;  OR source code from  this github repo.
davisking commented 5 years ago

CMake uses whatever rules it uses to find available compilers. Check the cmake documentation or google it, there is much written on this subject.