ufs-community/ufs-mrweather-app

Build failing on orion

Closed this issue · 9 comments

@climbfuji
I followed the instructions on building NCEPLIBS-external and NCEPLIBS on orion, and now I am trying to build the model, and I am getting the following error:

ifort: warning #10315: specifying -lm before files may supersede the Intel(R) math library and affect performance
/work/noaa/gsienkf/ppegion/NCEPLIBS-ufs-v1.1.0/intel-19.1.0.166/impi-2020.0.166/lib/libbacio_v2.2.0_4.a(baciof.f.o): In function baread_': /work/noaa/gsienkf/ppegion/NCEPLIBS-ufs-v1.1.0/intel-19.1.0.166/impi-2020.0.166/src/NCEPLIBS/NCEPLIBS-bacio/src/baciof.f:355: undefined reference to __intel_avx_memmove'
/work/noaa/gsienkf/ppegion/NCEPLIBS-ufs-v1.1.0/intel-19.1.0.166/impi-2020.0.166/lib/libbacio_v2.2.0_4.a(baciof.f.o): In function bawrite_': /work/noaa/gsienkf/ppegion/NCEPLIBS-ufs-v1.1.0/intel-19.1.0.166/impi-2020.0.166/src/NCEPLIBS/NCEPLIBS-bacio/src/baciof.f:540: undefined reference to __intel_avx_memmove'
/work/noaa/gsienkf/ppegion/NCEPLIBS-ufs-v1.1.0/intel-19.1.0.166/impi-2020.0.166/lib/libbacio_v2.2.0_4.a(bafrio.f.o): In function bafrread_': /work/noaa/gsienkf/ppegion/NCEPLIBS-ufs-v1.1.0/intel-19.1.0.166/impi-2020.0.166/src/NCEPLIBS/NCEPLIBS-bacio/src/bafrio.f:211: undefined reference to __intel_avx_memmove'
make[2]: *** [NEMS.exe] Error 1
make[1]: *** [CMakeFiles/NEMS.exe.dir/all] Error 2
make: *** [all] Error 2

I'm using these to build the libraries: Currently Loaded Modules: 1) intel/2020 2) munge/0.5.13 3) slurm/19.05.3-2 4) impi/2020 5) hdf5/1.10.5 6) netcdf/4.7.2 7) cmake/3.15.4 and CIME to build the model (which I see is using intel/2019 etc.), I am using branch ufs-release-v1.1 of the ufs-mrweather-app. On Tue, Sep 1, 2020 at 4:44 PM Dom Heinzeller notifications@github.com wrote:

Then CIME needs to be updated; we discussed that the CIME config needs to match the NCEPLIBS-external doc/README_machine.txt config of branch release/public-v1. That one has:

module purge
module load intel/2020
module load impi/2020
module load netcdf/4.7.2
module load cmake/3.15.4

See https://github.com/NOAA-EMC/NCEPLIBS-external/blob/release/public-v1/doc/README_orion_intel.txt.

The confusion may arise from Intel's compiler versioning, where Intel 2020 is in fact 19.1.0.166 and quite different from 19.0.x.y (as you just witnessed).

@uturuncoglu

@climbfuji it was defined as intel/2020 before but before removing Orion from the model, it was set like 2018 and downgrade to 2018. Anyway, if you want to use above modules, i could update again.

@uturuncoglu @climbfuji My understanding is that for platforms that are not preconfigured, we need to make sure the App uses the same modules as the user built NCEPLIBS* with. So, the App needs to match https://github.com/NOAA-EMC/NCEPLIBS-external/blob/release/public-v1/doc/README_machine_compiler.txt.

@uturuncoglu Has the machine xml file been updated for Orion?

@ligiabernardet the modules files are updated but user need to set following environment variables; UFS_INPUT, UFS_INPUTDATA and UFS_SCRATCH and call setenv_nceplibs.sh script from NCEPLIBS.

@ligiabernardet the modules files are updated but user need to set following environment variables; UFS_INPUT, UFS_INPUTDATA and UFS_SCRATCH and call setenv_nceplibs.sh script from NCEPLIBS.

Thanks, @uturuncoglu - I think users always had to set these variables / source setenv_nceplibs.sh on configurable (= level-2) platforms.

Great. Thanks @uturuncoglu