我正在尝试安装 netcdf 库(v3.6.3),因为我需要使用 mcmodel=large 来编译它们,以允许在某些情况下运行模拟(模拟使用 ifort,并且当前给出“重定位截断以适合”错误) netcdf 函数。
我在下面发布的方法过去在我的旧计算机上运行良好,但现在我在另一台计算机上(使用 Red Hat,CentOS 版本 6.5)我收到错误消息。
基本上我做了以下事情:
export CC=icc
export CXX=icpc
export CFLAGS='-O1 -xT -ip -no-prec-div -mcmodel=large -shared-intel -traceback -static-intel'
export CXXFLAGS='-O1 -xT -ip -no-prec-div -mcmodel=large -shared-intel -traceback -static-intel'
export F77=ifort
export FC=ifort
export F90=ifort
export FFLAGS='-O1 -xT -ip -no-prec-div -mcmodel=large -shared-intel -traceback -static-intel'
export CPP='icc -E'
export CXXCPP='icpc -E'
cd netcdf-3.6.3
./configure --enable-large-file-tests --prefix=my_path_to_netcdf --disable-cxx
make check
然后我得到以下输出(仅在最后几行复制但有错误):
*** Creating fills.nc.
*** SUCCESS!
PASS: create_fills.sh
Fatal Error: This program was not built to run on the processor in your system.
The allowed processors are: Intel(R) Core(TM) Duo processors and compatible Intel processors with supplemental Streaming SIMD Extensions 3 (SSSE3) instruction support.
FAIL: nf_test
Fatal Error: This program was not built to run on the processor in your system.
The allowed processors are: Intel(R) Core(TM) Duo processors and compatible Intel processors with supplemental Streaming SIMD Extensions 3 (SSSE3) instruction support.
FAIL: tst_f77_v2
Fatal Error: This program was not built to run on the processor in your system.
The allowed processors are: Intel(R) Core(TM) Duo processors and compatible Intel processors with supplemental Streaming SIMD Extensions 3 (SSSE3) instruction support.
FAIL: ftest
*** Testing netCDF-3 Fortran 90 API.
*** SUCCESS!
PASS: tst_f90
=========================================
3 of 5 tests failed
Please report to [email protected]
=========================================
我尝试用其他选项(-xsse、-xsse2、-xssse3)替换 -xT 但无济于事。可用的标志有:
awk '/model name|flags/' /proc/cpuinfo | head -2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core cpb npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold bmi1
有人可以提供任何指导吗?我真的不知道我在用电脑做什么。我认为问题可能是我的新电脑配备了 AMD 处理器,而我的旧电脑配备了英特尔处理器。
非常感谢,
利亚姆