MPAS-JEDI build error during make on Ubuntu (undefined reference to _gfortran_transfer_real_write)

Hello everyone,

I am trying to build MPAS-JEDI using the spack-stack environment on Ubuntu. The configuration step completes successfully, but the build fails during the linking stage.

Environment

  • Host OS: Windows with WSL (Ubuntu)

  • spack-stack version: 1.6.0

  • Compiler: GCC 11.5.0

  • ESMF version: 8.5.0 (installed via spack-stack)

Steps I followed

Activated the environment:

spack env activate mpas-env

Configured the MPAS bundle:

cmake ../code

Started the build:

make -j2

Error during build

The build fails during linking with the following error:

From CMakeCache.txt I see that it is linking against:

.../esmf-8.5.0/lib/libesmf.a

Has anyone encountered this issue when building MPAS-JEDI with spack-stack (especially under WSL)? Any suggestions on how to resolve this linking error would be greatly appreciated.

Thank you!

Hi @Astrogirlanajli ,

On your issue with esmf, I wonder if you can find some intuition from Trouble running mpasjedi_hofx3d.x with mpas-bundle 3.0.2 .

Also curious which versions of mpas-bundle and spack-stack you are using.

Although not resolving esmf issue, you may try commenting out two lines of ( ecbuild_bundle( PROJECT MPAS... and ecbuild_bundle( PROJECT mpas-jedi ...) from mpas-bundle’s CMakeLists.txt, then see if the build (both cmake and make) work. With this way, you may still explore other model-agnostic JEDI components (such as UFO) or simple model examples in OOPS.

Hope this helps!

Thank you,
BJ

Hi @byoung-joo,

Thank you for your suggestions.

It appears that the issue was due to a compiler mismatch: spack-stack was built with GCC 11.5, while the MPAS bundle was using GCC 13. I have now rebuilt both spack-stack and the MPAS bundle with GCC 11 on Ubuntu 22.04.

My current setup is as follows:

– spack-stack version 1.6.0

– mpas-bundle version 3.0

With this setup, I am able to successfully complete both the CMake configuration and the build for MPAS-JEDI without errors. However, I am now encountering issues when running ctest, and I am currently investigating them.