web-dev-qa-db-ja.com

CMAKE_C_COMPILERは、既存のコンパイラツールへのフルパスではありません

私は最近distccを調査しましたが、機能させることができませんでした。だから私は

Sudo apt-get remove distcc

その後、エラーが発生します

==> Processing catkin package: 'gencpp'
==> Building with env: '/opt/ros/kinetic/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/home/pi/ros_catkin_ws/build_isolated/gencpp'
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_C_COMPILER:

    /usr/local/bin/cc

is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.

CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_CXX_COMPILER:

    /usr/local/bin/c++

  is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred!
See also "/home/pi/ros_catkin_ws/build_isolated/gencpp/CMakeFiles/CMakeOutput.log".
See also "/home/pi/ros_catkin_ws/build_isolated/gencpp/CMakeFiles/CMakeError.log".
Makefile:304: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
<== Failed to process package 'gencpp': 
  Command '['/opt/ros/kinetic/env.sh', 'make', 'cmake_check_build_system']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/pi/ros_catkin_ws/build_isolated/gencpp && /opt/ros/kinetic/env.sh make cmake_check_build_system

Command failed, exiting.

私はやった

Sudo apt-get install build_essential
Sudo apt-get -f install
Sudo apt-get update
Sudo apt-get upgrade
export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++

しかし、それでも同じエラーが発生します。

このエラーを解決するにはどうすればよいですか?シンボリックリンクをリセットしてエクスポートを削除してみました

9
Ryan Lee

CCCXXの設定を解除するか、少なくともこのようなシステムコンパイラを使用する必要があると思います(/local):

export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
1
Florian Weimer

centOSを使用しているため、gccとg ++の場所を確認し、ソフトリンクを作成する必要があります

yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils

gccをインストールするため、次のことを実行して、同じエラーを回避する必要があります。

Sudo ln -s /opt/rh/devtoolset-8/root/usr/bin/gcc /usr/bin/cc
Sudo ln -s /opt/rh/devtoolset-8/root/usr/bin/g++ /usr/bin/c++

1
Jamex Tzu

OpenCV 4.2.0とcuda 10.2をubuntu 18.04にインストールするときに、同様のエラーが発生しました。私はそれを修正しました(それに応じてgcc/g ++バージョンを変更してください)

Sudo apt install gcc-6 g++-6
0
Naeem Dheen