Upgrading from cylc 7.9.1 to 8.1.1 fcm_make errors

hi there,

has anyone else experienced fcm make errors after shifting from cylc 7.9.1 to 8.1.1?

i am trying to upgrade a suite and some fcm_make tasks are working and some are failing.

before i dive any deep i was just wondering if i need to upgrade to a different rose (currently 2019.01.3) or fcm (currently 2019.05.0) version…


@jonnyhtw - not sure if it’s the cause of your problem or not, but Rose 2 seems not to have been installed at our site, and maybe you’re the first of the Cylc 8 adopters to run a workflow with Rose apps, and FCM build tasks. My bad, (re)requesting installation now… :grimacing:

1 Like

ah ok no worries! thanks for chasing that up, i had no idea it was needed :smile:

@hilary.j.oliver fyi, wolfgang h fixed on of the build errors for me, i had to change this in the fcm_make_pp rose app dot conf…

no clue why this didn’t need doing at cylc 7 :laughing:

1 Like


fyi i now have three identical failures in fcm_make2_{drivers,ocean,pp} which i guess is good; rather than 3 different failures i mean!

bottom of job.out

[init] make 2 config-parse # 2023-04-02T23:32:41Z
[FAIL] make 2 config-parse # 0.1s

bottom of job.err

[FAIL] no configuration specified or found

[FAIL] fcm make -C /home/williamsjh/cylc-run/u-cu431/run1/share/fcm_make_drivers -n 2 -j 4 # return-code=2
2023-04-02T23:32:42Z CRITICAL - failed/ERR

as mentioned before, maybe these will be fixed with an updated rose install?


Hi @jonnyhtw

This looks like purely an FCM error, and note that FCM is not part of Rose (or Cylc). However, I might be able to take a closer look later today…

1 Like

ok thanks that’s good to know. i’ll trying messing around with the fcm configs…

@hilary.j.oliver i’m wondering if perhaps this is the issue, although to be honest i’m guessing.

the file on the left is the job script of the cylc 7 version of a task which succeeds and the one on the right is the failing cylc 8 one. googling for the exact word noreinvoke turns up zero hits!

No, I doubt it, that’s an internal Cylc thing to avoid tying job scripts to the system bash (as opposed to bash in, say, a user’s virtual environment).

Good idea to check the Cylc 7 vs 8 job script though - have you confirmed that the exact same job runs in a Cylc 7 task?

1 Like

ok got it,

have you confirmed that the exact same job runs in a Cylc 7 task?

no i haven’t done this, would a cylc 8 job script run in a cylc 7 workflow? aren’t there quite a few variables which differ between the two?

Sorry, I didn’t mean it quite that literally. I just meant the same build job, but run within a Cylc 7 workflow.

ah ok,

yes this is the same u-cu431 suite which ran fine at cylc 7.

in case it helps, u-cv823 is an identical suite but with working cylc 7 syntax (basically as u-cu431 was when we started working it with cylc 8).

essentially i am 100% confident that the reason it’s failing is because of something in the rose/cylc/fcm setup rather than a model ‘error’.


ok this is what the issue seems to be, somehow the mirror.target isn’t being set. i don’t know enough about fcm to know exactly why this is or why it causes the run to fail when it works fine at cylc 7. progress at least!

in the screenshot, the file on the left is for cylc 8, and the one on the right is the equivalent working fcm-make-as-parsed.cfg file.

Have you installed Rose 2 yet?
Setting of the mirror target is done by Rose and I wouldn’t expect Rose 2019 to work with Cylc 8.
(Note that you’ll need to update your Rose wrapper script to use the latest Cylc wrapper which expects Rose 2 to be installed in the same environment as Cylc 8.)

1 Like

Thanks for that @dpmatthews - Rose 2 is now installed on our system, I’ll get it working with @jonnyhtw tomorrow.

1 Like

hi there,

@dpmatthews @hilary.j.oliver i can confirm that using rose 2 fixes the fcm_make2 errors i was seeing which is awesome!

thanks a lot!

1 Like

(@dpmatthews FYI, I misinterpreted your comment above as saying that we needed Rose 2 as a separate installation for this, as well as installed with Cylc 8 - which was already done, but I had neglected to document an important detail for users here, and subsequently forgot about it myself).

1 Like