我正在使用 RHEL6 系统,但需要使用 C++11(甚至 C++14)功能移植代码。这迫使我手动构建 gcc-8.2,安装在私有前缀 ( /prod/pfe/local
) 下。/prod/pfe/local/bin
这在gcc、g++、ld 和 gfortran下创建了许多可执行文件。
我现在正在尝试构建使用上述 gfortran 的 CBLAS。构建库 ( cblas_LINUX.a
) 工作正常,但创建可执行文件失败,并出现标题中引用的神秘错误:
gfortran -o xscblat1 c_sblat1.o c_sblas1.o ../lib/cblas_LINUX.a
/prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../x86_64-pc-linux-gnu/bin/ld: /prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../lib64/libgfortran.so: _edata: invalid version 21 (max 4)
/prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../x86_64-pc-linux-gnu/bin/ld: /prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../lib64/libgfortran.so: error adding symbols: bad value
我是否错误地配置了构建 gfortran?如果没有,我该如何解决这个问题——额外的FFLAGS
或LDFLAGS
某种形式的?