我正在尝试在虚拟 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)。
添加回答
举报
0/150
提交
取消