提问人:bike 提问时间:11/15/2023 最后编辑:bike 更新时间:11/21/2023 访问量:55
Cmake 错误 make: *** Makefile: 资源死锁已避免。停
Cmake Error make: *** Makefile: Resource deadlock avoided. Stop
问:
make[2]: *** CMakeFiles/exec.dir/compiler_depend.make: Resource deadlock avoided. Stop.
make[1]: *** [CMakeFiles/Makefile2:84: CMakeFiles/exec.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
当我键入命令然后键入以初始化cmake时,此错误经常发生。这是我知道解决错误的唯一方法。
它可能是由 docker 容器或编译器选项 (openMP) 引起的。make
cmake ..
我的环境是
M2 Macbook Pro
MacOS Sonoma
Docker 桌面 4.25.1 Ubuntu 22.04.2 LTS
cmake 3.22.1
gcc (
Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
我正在将选项传递给 gcc。-fopenmp
CMakeLists.txt
# Set the version of CMake required
cmake_minimum_required(VERSION 3.14)
# Set the project name and the language used
project(ARModel CXX)
# Create an executable and specify the source files
add_executable(exec predict.cpp AR.cpp)
# Include path
target_include_directories(exec PUBLIC /usr/include/python3.10)
# Specify the library directory
link_directories(/usr/lib/python3.10)
# Create a shared library
add_library(cnpy SHARED "cnpy/cnpy.cpp")
# Link the libraries
target_link_libraries(exec PUBLIC python3.10 cnpy z)
# Set the linker library search policy
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
# Set compiler options
set(CMAKE_NO_CACHE TRUE)
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "-std=c++20 -O3 -fopenmp -mtune=native -march=native -I/usr/include/python3.10")
在 Makefile 中
# All Build rule for target.
CMakeFiles/exec.dir/all: CMakeFiles/cnpy.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/exec.dir/build.make CMakeFiles/exec.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/exec.dir/build.make CMakeFiles/exec.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir="/workspaces/AR model/cpp/build/CMakeFiles" --progress-num=3,4,5,6 "Built target exec"
.PHONY : CMakeFiles/exec.dir/all
答: 暂无答案
评论
make
ninja
ninja