Build error on Hera

Any ideas about the build error:

module purge
module use /scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.0/envs/unified
module load stack-intel/2021.5.0
module load stack-intel-oneapi-mpi/2021.5.1
module load stack-python/3.10.8
module load jedi-fv3-env
module load eckit
module load ewok-env
module load soca-env

git clone GitHub - JCSDA/fv3-bundle: Bundle containing all the repositories that are needed to compile fv3-jedi
ecbuild …/src/fv3-bundle/

– git fetch --all @ /scratch2/NESDIS/nesdis-rdo1/Hui.Liu/jedi/src/fv3-bundle/crtm
– git fetch --all --tags @ /scratch2/NESDIS/nesdis-rdo1/Hui.Liu/jedi/src/fv3-bundle/crtm
– git checkout v2.3-jedi.0 @ /scratch2/NESDIS/nesdis-rdo1/Hui.Liu/jedi/src/fv3-bundle/crtm

– [crtm] (2.3.0) [46e3292]
– Feature TESTS enabled
CMake Error at /scratch2/NESDIS/nesdis-rdo1/Hui.Liu/jedi/build/jedicmake/jedicmake-config.cmake:19 (message):
File or directory
referenced by variable jedicmake_MODULES does not exist !
Call Stack (most recent call first):
/scratch2/NESDIS/nesdis-rdo1/Hui.Liu/jedi/build/jedicmake/jedicmake-config.cmake:36 (set_and_check)
crtm/CMakeLists.txt:20 (find_package)

– Configuring incomplete, errors occurred!

I notice the bundle is trying to build jedi-cmake. Why? This should not happen, because loading the spack-stack modules below should provide a module and that gets detected by jedi-bundle.

not sure about this. Actually, I was trying to build fv3-bundle.

from JCSDA or JCSDA-internal ?

from JCSDA. I was kicked out JCSDA-internal a few days ago for some reasons. Can I be in JCSDA-internal?

Just tested:
ecbuild …/src/jedi-bundle works fine!!
why ecbuild …/src/fv3-bundle not?

Following two months of announcements on JCSDA-internal, in the JEDI bi-weekly meetings with all external partners, and on Slack, we enabled mandatory two-factor-authentication for the JCSDA-internal and JCSDA repositories. This automatically removed all Github users without 2FA. Please enable 2FA for your Github account and ask Cory or Daryl to request you being added back in. Thanks.

That’s a good question for which I unfortunately don’t have a better answer then “use jedi-bundle”, it’s the same. You can comment out the mom6/soca/coupling components in CMakeLists.txt before you run cmake if you don’t need them.

Thanks for your suggestions!

I was having a similar error where the build error I was getting was the jedicmake_MODULES does not exist.

I was able to go into the jedicmake directory and see that nothing was actually built there. By modifying fv3-bundle/CMakeList.txt slightly I was able to get it to build correctly.

Modifying these two lines:

  1. Update line 20, on the CMakeList.txt file that is located within the fv3-bundle directory. Add RECURSIVE in all caps to the end of the line:

ecbuild_bundle( PROJECT jedicmake GIT "" BRANCH develop UPDATE RECURSIVE )

  1. Addition after line 55, on the CMakeList.txt file that is located within the fv3-bundle directory. Add vader bundle to the ecbuild

ecbuild_bundle( PROJECT vader GIT "" BRANCH develop UPDATE )

After completing these two steps I saw it build correctly – be sure to first remove all files or directories made by your initial build or it will not recursively go into these directories and update the modules since it see them as already created. This was from JCSDA and NOT JCSDA-internal.

Is this a fix needed on the fv3-bundle to build correctly? Should a PR be opened on the JCSDA’s repo?

I can confirm @NaureenBharwaniNOAA’s and @HuiLiu-NOAA’s experience.

There is no question that the fv3-bundle develop is broken.

It doesn’t work on Hercules or in the published container either. Same issues with both jedi-cmake and vader.