1

我正在尝试用crayftn.

我收到一条错误消息

/opt/cray/pe/cce/10.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld: failed to convert GOTPCREL relocation; relink with --no-relax

所以它想要国旗--no-relax?好的,我可以做到。所以我重新链接到那个标志,然后它告诉我

ftn -O3 --no-relax -dynamic -h pic -h omp -o stream_cray stream_mpi.o mysecond.o
ftn-2115 crayftn: ERROR in command line
  "-no-relax" is an invalid command-line option.

所以它要求“ --no-relax”,但它不明白。有人知道解决这个难题的方法吗?还是首先解决根本问题的另一种方法?

4

1 回答 1

2

我找到了这个链接:

https://bb.cgd.ucar.edu/cesm/threads/failed-to-convert-gotpcrel-relocation-relink-with-no-relax.4494/

问题:

您好,在最终的 cesm bld ..ld 期间,使用英特尔编译器进行 CLM5.0 编译时,我收到以下错误消息:failed to convert GOTPCREL relocation; relink with --no-relax

解决方案:

嗨, 似乎找到了修复编译的解决方案......在 LDFLAGS 中添加“-Wl,--no-relax”并不能解决这个问题,但 "-mcmodel medium" in FFLAGS在谷歌中搜索“Relocation truncated to fit”后解决了这个问题搜索引擎,它提供了这个有助于解决问题的链接“https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x /主题/268394”

最好的问候,普拉巴卡

也可以看看:

https://community.intel.com/t5/Intel-Fortran-Compiler/relocation-truncated-to-fit/td-p/1146616

这看起来像是混合了来自不同系统的编译器和库,无论是 32 位还是 64 位,或者基于不同 glibc 或类似东西的 ifort 和 mpiifort 安装。

我还是很好奇你的“开发环境”:

问:您是否能够使用您的 crayftn 成功编译、链接和运行任何程序?问:crayftn 是什么版本的?10.0.1?问:什么平台?x86_64-pc-linux 来自哪里?只是好奇...

于 2020-07-06T17:29:24.803 回答