1.找不到 hdf5.h 错误
这个错误的原因是在 Ubuntu16.04 下文件包含的位置发生了变化,其用到hdf5的位置发生了改变,因此需要添加这一路径,具体修改如下:
# 将:
90 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
91 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
# 改为:
90 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
91 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
2. gcc版本过高问题
在 make 过程中可能出现由于 ubuntu 中 gcc 版本过高所导致的问题,解决办法是修改 Makefile 文件中的部分语句:
# 打开Makefile文件,将
397 NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
# 替换为
397 NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
编辑/usr/local/cuda/include/host_config.h,将其中的第115行注释掉,如下:
// 将
115 #error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
// 改为
115 //#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
之后便可直接 make