key4hep / key4hep-spack

A Spack recipe repository of Key4hep software.
10 stars 23 forks source link

KKMCee Wrapper problem with configfile option -c #589

Closed dirkzerwas closed 3 months ago

dirkzerwas commented 4 months ago

The KKMCee wrapper does not seem to treat the option "-c,--config FILENAME" consistently:

afaict the "if" is the check of the absence of $_CONFFILE, so adding the "else" treats the existence of the $_CONFFILE and creates a link to it with the filename expected by KKMCee.exe.

This change makes the job run. Could you have a look? (Maybe it's something else?)

jmcarcell commented 3 months ago

The fix is not yet in the nightlies because that change in the wrapper doesn't modify the hash in spack and it considers the version installed is the same as the one it would install so it doesn't do anything.

dirkzerwas commented 3 months ago

Hi @jmcarcell, unless I am mistaken the nightlies seem to be running the version from May 9. I guess this is still stuck due to the SPACK issue?

jmcarcell commented 3 months ago

Hi @dirkzerwas, so the issue here was that the changes in #598 are not enough to trigger rebuilds by spack. I made a silly change of a space in a patch in https://github.com/key4hep/key4hep-spack/pull/607. Spack uses the patches to build a hash so it should now be different from the one installed and it should be rebuilt in the nightlies. Let's see tomorrow.

dirkzerwas commented 3 months ago

Hi @jmcarcell, I had a look, your trick installed a new KKMCee in the nightly: /cvmfs/sw-nightlies.hsf.org/key4hep/releases/2024-07-04/x86_64-almalinux9-gcc11.4.1-opt/kkmcee/5.00.02-bytybr but it does not work. What is bizarre: grep if /cvmfs/sw-nightlies.hsf.org/key4hep/releases/2024-07-04/x86_64-almalinux9-gcc11.4.1-opt/kkmcee/5.00.02-bytybr/bin/KKMCee gives (among other lines): if test "x$_CONFFILE" = "x" || test ! -f $_CONFFILE; then my impression was that in the new wrapper you had separated the two checks? grep ln .... gives only: ln -sf ${KKMCEE_ETC}/KKMCee_defaults I expected to see also the line you had added: ln -sf $_CONFFILE ./pro.input

It's as if SPACK built KKMCee, but with the old wrapper or am I mistaken?

jmcarcell commented 3 months ago

Indeed it seems the wrapper was not the one I thought it was but was coming from one of the patch files, this should be fixed in #598, let's see tomorrow although this time I built it locally and it looks fine.

jmcarcell commented 3 months ago

-c now fails when the input file can't be found and I can see in the output of KKMCee that the input file is used since its contents are dumped.

dirkzerwas commented 3 months ago

just to confirm that it works: I ran muon pair production in k4GeneratorsConfig, thanks!