UMD-AOSC / UMD-SST

Testbed sea surface analysis system
Apache License 2.0
1 stars 2 forks source link

Migrate to ecbuild35 on Cheyenne #71

Closed loganchen39 closed 3 years ago

loganchen39 commented 3 years ago

@travissluka Can we follow the suggestion in post "ecbuild 3.5/3.6 migration" from https://github.com/orgs/JCSDA-internal/teams/jedi , to include fckit, eckit, atlas etc. in the containers and HPC modules instead of building them with the bundles? It needs us to modify the file "UMD-SST/bundle/CMakeLists.txt".

I've been having trouble recompiling JEDI/UMD-SST on Cheyenne, mainly due to their migration to ecbuild35. Below is the link error. The reason is previously we used eckit version "jcsda-1.11.6.jcsda2" (under /glade/work/miesch/modules/gnu-9.1.0/openmpi-4.0.3/eckit), now after upgrade all of these oops/atlas/fckit need to use upgraded eckit version "ecmwf-1.16.0". I tried several times providing the path to only the upgraded eckit lib, which failed. I also tried to compile everything from the beginning, which also failed due to the upgraded ecbuild. I figured it would be more effective if we just follow JEDI's suggestion.

[ 96%] Linking CXX executable ../../../bin/umdsst_convertstate.x /usr/bin/ld: ../../../lib/liboops.so: undefined reference to eckit::Main::createMetricsLogTarget() const' /usr/bin/ld: ../../../lib/libatlas.so.0.20: undefined reference toeckit::Buffer::Buffer(void const*, unsigned long)' /usr/bin/ld: ../../../lib/libatlas_f.so.0.20: undefined reference to `eckit_git_sha1' ......

loganchen39 commented 3 years ago

I'm hoping we could compile everything from the beginning, to make it consistent with all the libraries.

travissluka commented 3 years ago

that's fine, I comment out atlas and fckit anyway when I build on my machine because I have those already installed. I didn't realize they have changed the modules already, if so I think that is a mistake, none of the other HPCs i'm using have upgrade to ecbuild35 for the default yet. Also I don't think the docker images have been updated yet.

does it work for you if you comment out atlas and fckit in the bundle? you might have to completely remove your build directory and rerun ecbuild

loganchen39 commented 3 years ago

The ecbuild35 is not default yet on Cheyenne. Seems like there are some inconsistencies, I put a post at https://github.com/orgs/JCSDA-internal/teams/jedi . I already tried to completely remove my build directory ad rerun with latest ecbuild3.6.1, which failed with following error message, which I think is due to the ecbuild upgrade. Will try modify the CMakeLists.txt to make it work. CMake Error at /glade/work/miesch/modules/core/ecbuild/ecmwf-3.6.1/share/ecbuild/cmake/ecbuild_log.cmake:190 (message): CRITICAL - Please define a version for UMDSST-bundle

loganchen39 commented 3 years ago

@travissluka which eckit version are you using? The latest "eckit/ecmwf-1.16.0" or the previous "eckit/jcsda-1.11.6.jcsda2"? Also are we running fv3-bundle (indicated by Mark's reply to my post)?

loganchen39 commented 3 years ago

@travissluka Never mind, now it compiles successfully. We'd better not touch the upgraded ecbuild35 etc. now.