当我在项目的构建目录中执行 cmake 时,出现此错误。最初我得到了一个
未找到 protobuf-config.cmake
错误。所以我给了一个protobuf-config.cmake文件的路径给Protobuf_DIR。后来它开始显示这个新错误:
/opt/cmake/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake 处的 CMake 错误:137(消息):找不到 Protobuf(丢失:Protobuf_PROTOC_EXECUTABLE)
(找到合适的版本“3.6.1”,最低要求是“3.0.0”)
我还附上了错误日志文件:https : //drive.google.com/open?id=1y7BZ6lDBtxvla7r-o188xM_FjwLqwhCx
我在 Ubuntu-18 上使用 cmake 版本:3.13 和 protobuf 版本:3.6.1
默认情况下,Spack(在我的系统上)spack-stage
写入/tmp/
. 当构建一些大的东西(例如 GCC 本身)时,这个目录可能会变满,至少在我正在使用的共享系统中:
fatal error: error writing to /tmp/ccPlIYSg.s: No space left on device
Run Code Online (Sandbox Code Playgroud)
有什么方法可以告诉 Spack 使用不同的位置吗spack-stage
?
我正在尝试使用hpctoolkit
安装Spack
。为了做到这一点,我执行了:
git clone https://github.com/spack/spack.git
cd spack/share/spack
source setup-env.sh
spack fetch -D hpctoolkit
spack install hpctoolkit
Run Code Online (Sandbox Code Playgroud)
我无法执行最后一个命令,因为出现以下错误:
Error: ProcessError: Command exited with status 1:
'./bootstrap.sh' '--prefix=/home/hakim/spack/opt/spack/linux-ubuntu20.04-haswell/gcc-10.2.0/boost-1.76.0-oc2u6jxritfsbci4xkhr5lov3i4o4riq' '--with-toolset=gcc' '--with-libraries=serialization,atomic,log,exception,regex,math,random,program_options,wave,iostreams,chrono,system,test,graph,locale,timer,filesystem,date_time,thread' '--without-icu'
Run Code Online (Sandbox Code Playgroud)
它建议我通过显示以下消息来查看构建日志:
See build log for details:
/tmp/hakim/spack-stage/spack-stage-boost-1.76.0-oc2u6jxritfsbci4xkhr5lov3i4o4riq/spack-build-out.txt
Run Code Online (Sandbox Code Playgroud)
之前的文件包含:
A C++11 capable compiler is required for building the B2 engine.
Toolset 'gcc' does not appear to support C++11.
> g++ -x c++ -std=c++11 check_cxx11.cpp
ERROR: Compiler 'gcc@9.3.0' does not support compiling C++ programs.
Run Code Online (Sandbox Code Playgroud)
为了显示编译器,我使用了以下命令:
spack compiler list
Run Code Online (Sandbox Code Playgroud)
结果是:
==> …
Run Code Online (Sandbox Code Playgroud)