为了账号安全,请及时绑定邮箱和手机立即绑定

numba/npyufunc/omppool.cpp:5:10: 致命错误:找不到“omp.h”文件

numba/npyufunc/omppool.cpp:5:10: 致命错误:找不到“omp.h”文件

犯罪嫌疑人X 2021-10-10 14:23:11
我正在尝试在虚拟 python 环境中使用 pip 安装 numba。我遇到以下错误:错误日志:cc: numba/cuda/cudadrv/_extras.c    cc -shared -lpthread -L/usr/local/lib -fstack-protector build/temp.freebsd-12.0-RELEASE-p2-amd64-3.6/numba/cuda/cudadrv/_extras.o -L/usr/local/lib -lpython3.6m -o build/lib.freebsd-12.0-RELEASE-p2-amd64-3.6/numba/cuda/cudadrv/_extras.so    building 'numba.npyufunc.omppool' extension    C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector -fno-strict-aliasing -fPIC    compile options: '-I/home/russellb/py_devel/pyPlay/include -I/usr/local/include/python3.6m -c'    extra options: '-fopenmp -std=c++11'    cc: numba/npyufunc/omppool.cpp    cc: numba/npyufunc/gufunc_scheduler.cpp    numba/npyufunc/omppool.cpp:5:10: fatal error: 'omp.h' file not found    #include <omp.h>             ^~~~~~~    1 error generated.    numba/npyufunc/omppool.cpp:5:10: fatal error: 'omp.h' file not found    #include <omp.h>             ^~~~~~~    1 error generated.    error: Command "cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector -fno-strict-aliasing -fPIC -I/home/russellb/py_devel/pyPlay/include -I/usr/local/include/python3.6m -c numba/npyufunc/omppool.cpp -o build/temp.freebsd-12.0-RELEASE-p2-amd64-3.6/numba/npyufunc/omppool.o -fopenmp -std=c++11" failed with exit status 1非常感谢您对解决/解决此问题的任何帮助。我正在跑步FreeBSD 12和python3.6。我已将软链接llvm7作为默认设置,因为该信息会有所帮助。我认为,makefile 正在寻找omp.h与实际位置不同的位置。如果是这样,有没有办法在pip安装过程中将路径作为参数传递?
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

Linux

omp.h通常是gcc编译器的一部分,例如在 Ubuntu 上安装它


$ sudo apt install libgcc-7-dev

FreeBSD

标头由 提供devel/openmp。您可以使用以下命令安装它:


$ sudo pkg install devel/openmp

这将omp.h放入/usr/local/include,它应该在默认包含目录下。


自定义包括

如果要在自定义包含目录下附加标题,请使用CPPFLAGS/CFLAGS环境变量:


$ CPPFLAGS="-I/usr/local/llvm70/lib/clang/7.0.1/include/" pip install numba

对于第二个错误,我想numba不是用 FreeBSD 编写的(也不确定 CUDA 和 FreeBSD 是否总体上玩得很好)。也许打开一个问题?我想补丁建议numba/npyufunc/workqueue.c应该是


 #include <pthread.h>

 #include <unistd.h>

+#if !defined (__FreeBSD__)

 #include <alloca.h>

+#endif

 #define NUMBA_PTHREAD

 #endif

除此之外,尝试包括第二个 ( /usr/src/cddl/compat/opensolaris/include/alloca.h)。


查看完整回答
反对 回复 2021-10-10
  • 1 回答
  • 0 关注
  • 214 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信