Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

BUILD FAIL error after updating FATES

Hi All,

I just recently updated FATES, and I am now running into a build fail error whether FATES is on or off.


ERROR: BUILD FAIL: clm.buildlib failed, cat /glade/scratch/katiem/ID_MACA_100yr_allomparam_test023_1pt_9c12e402_70dda4c9/bld/lnd.bldlog.200626-134548

> cat /glade/scratch/katiem/ID_MACA_100yr_allomparam_test023_1pt_9c12e402_70dda4c9/bld/lnd.bldlog.200626-134548
...
ERROR: Command gmake complib -j 8 MODEL=clm COMPLIB=/glade/scratch/katiem/ID_MACA_100yr_allomparam_test023_1pt_9c12e402_70dda4c9/bld/intel/mpt/nodebug/nothreads/mct/mct/noesmf/lib/libclm.a -f /glade/work/katiem/FATES_cases/allomlog_testing_200409/ID_MACA_100yr_allomparam_test023_1pt_9c12e402_70dda4c9/Tools/Makefile MACFILE=/glade/work/katiem/FATES_cases/allomlog_testing_200409/ID_MACA_100yr_allomparam_test023_1pt_9c12e402_70dda4c9/Macros.cheyenne failed with rc=2

I've searched through the forum a bit, and I haven't seen this issue yet.

Any help is appreciated!

Cheers,
Katie
 
Update. I needed to update CTSM and re-checkout externals. However, I am still running into a build fail error. Also, most of my externals are out of sync, and I am note sure how to get them in sync.


ERROR: BUILD FAIL: clm.buildlib failed, cat /glade/scratch/katiem/ID_MACA_100yr_allomparam_test024_1pt_e33b4658_70dda4c9/bld/lnd.bldlog.200626-153612

> cat /glade/scratch/katiem/ID_MACA_100yr_allomparam_test024_1pt_e33b4658_70dda4c9/bld/lnd.bldlog.200626-153612

ERROR: Command gmake complib -j 8 MODEL=clm COMPLIB=/glade/scratch/katiem/ID_MACA_100yr_allomparam_test024_1pt_e33b4658_70dda4c9/bld/intel/mpt/nodebug/nothreads/mct/mct/noesmf/lib/libclm.a -f /glade/work/katiem/FATES_cases/allomlog_testing_200409/ID_MACA_100yr_allomparam_test024_1pt_e33b4658_70dda4c9/Tools/Makefile MACFILE=/glade/work/katiem/FATES_cases/allomlog_testing_200409/ID_MACA_100yr_allomparam_test024_1pt_e33b4658_70dda4c9/Macros.cheyenne failed with rc=2
 

sacks

Bill Sacks
CSEG and Liaisons
Staff member
As you suggested, I think the problem is that your externals are out of sync with your code version. In particular, I think this cime version is incompatible with this version of CTSM.

From running ./manage_externals/checkout_externals -S -v, I see:

Code:
s   ./cime
        clean sandbox, ctsm/ctsm1.0/cime5.7.9/n01 --> cime5.6.28
s   ./components/cism
        clean sandbox, release-cesm2.0.04 --> cism-release-cesm2.1.2_01
    ./components/cism/source_cism
        clean sandbox, on release-cism2.1.03
sM  ./components/mosart
        modified sandbox, release-cesm2.0.00 --> release-cesm2.0.04
sM  ./components/rtm
        modified sandbox, release-cesm2.0.00 --> release-cesm2.0.04
s   ./src/fates
        clean sandbox, master --> sci.1.36.0_api.11.2.0
s   ./tools/PTCLM
        clean sandbox, PTCLM2_180214 --> PTCLM2_20200121

I'm not sure what the changes are in mosart and rtm, and if they are intentional. If they aren't intentional, I'd suggest:

Code:
cd components/mosart
git checkout -- .

and similarly for rtm.

Once you have done that, you should be able to run ./manage_externals/checkout_externals to bring everything into sync. It looks like you might have updated fates to master; if that was intentional you can then go back into components/fates and do git checkout master.

Please try again after doing that, and let us know if you continue to have problems.
 
Thank you for the feedback Bill. I will try your suggestion to sync my externals. Nothing you noted was intentional, especially updating fates to master. Mostly that was me being careless with my branches.
 
As you suggested, I think the problem is that your externals are out of sync with your code version. In particular, I think this cime version is incompatible with this version of CTSM.

From running ./manage_externals/checkout_externals -S -v, I see:

Code:
s   ./cime
        clean sandbox, ctsm/ctsm1.0/cime5.7.9/n01 --> cime5.6.28
s   ./components/cism
        clean sandbox, release-cesm2.0.04 --> cism-release-cesm2.1.2_01
    ./components/cism/source_cism
        clean sandbox, on release-cism2.1.03
sM  ./components/mosart
        modified sandbox, release-cesm2.0.00 --> release-cesm2.0.04
sM  ./components/rtm
        modified sandbox, release-cesm2.0.00 --> release-cesm2.0.04
s   ./src/fates
        clean sandbox, master --> sci.1.36.0_api.11.2.0
s   ./tools/PTCLM
        clean sandbox, PTCLM2_180214 --> PTCLM2_20200121

I'm not sure what the changes are in mosart and rtm, and if they are intentional. If they aren't intentional, I'd suggest:

Code:
cd components/mosart
git checkout -- .

and similarly for rtm.

Once you have done that, you should be able to run ./manage_externals/checkout_externals to bring everything into sync. It looks like you might have updated fates to master; if that was intentional you can then go back into components/fates and do git checkout master.

Please try again after doing that, and let us know if you continue to have problems.

I feel a little silly for asking, but how can I update my master to be the actual ctsm master and not fates? I am not sure how to update these correctly.
 

sacks

Bill Sacks
CSEG and Liaisons
Staff member
Please don't feel silly for asking. Our use of externals is not a standard git thing and can be confusing at first. And sorry for my delayed reply: I was out of the office for a couple of days.

The basic update process is:

1. From the top level of your ctsm checkout (the directory with subdirectories like bld and src, and files like CODE_OF_CONDUCT.md and CONTRIBUTING.md), run git commands to update your version of master (git checkout master; git pull). It looks like you have done this properly.

2. Again from that top level, run ./manage_externals/checkout_externals to bring all of the externals into sync.

It looks like you still need to do step (2), though in your case, it looks like you would first need to revert changes in mosart & rtm. Also, you (accidentally?) ended up with another ctsm directory nested inside your main ctsm directory.

If it's still unclear to you what to do, I think it would be most efficient to find a time when we can chat briefly. I'll send you an email with my availability.
 
Top