构建 MXNET 时如何修复对 _gfortran_concat_string 和 _gfortran_etime 的未定义引用?

How to fix 'undefined reference to _gfortran_concat_string and to _gfortran_etime when building MXNET?

我正在尝试从这个 repo https://github.com/mahyarnajibi/SNIPER/tree/cvpr3k 构建 MXNET。我安装了 cuda、cudnn 和 openblas。我使用以下命令构建代码:make -j 8 USE_CUDA_PATH=/usr/local/cuda

报错信息如下:

/usr/local/lib/libopenblas.so: undefined reference to `_gfortran_concat_string'
/usr/local/liblibopenblas.so: undefined reference to `_gfortran_etime'
collect2: error: ld returned 1 exit status
Makefile:454: recipe for target 'bin/im2rec' failed
make: *** [bin/im2rec] Error 1
make: *** Waiting for unfinished jobs....

我的 config.mk 文件具有一些相关(我认为)变量的这些设置:

ADD_LDFLAGS=
ADD_CFLAGS=
USE_CUDA=1
USE_CUDNN=1
USE_OPENCV=1
USE_BLAS=openblas
USE_LAPACK=1

这是一个链接器错误。正如作者提到的,这个错误可以通过在 LDFLAGS 中指定 gfortran 来解决。将您的 config.mk 修改为:

ADD_LDFLAGS=-lgfortran