Open
Description
I'm asking this because of what I saw in #31 which has some potential problems from my perspective. But, this is a question that I'm not sure the answer to, so want developers here to weigh in. This also might be something that would need to go into cime rather than here, I'm not sure.
What I noticed in #31 is that for machines where the autoconf version is even slightly out of alignment (on Izumi it's 1.16.1 vs. 1.16.5) from the aclocal and configure files storied from autoconf in the distribution -- it'll overwrite those files when doing the build.
So after successfully building a case on Izumi, my libraries/mpi-serial submodule under CTSM will look like this from a "git status":
git status
HEAD detached at 39416b7
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: Makefile.in
modified: aclocal.m4
modified: configure
modified: tests/Makefile.in
Untracked files:
(use "git add <file>..." to include in what will be committed)
autom4te.cache/
THE LIST OF CONCERNS I HAVE WITH THIS:
- It's modifying source files something that feels wrong to do
- Some users could only have readonly access to the source tree for a whole set of reasons
- It encodes specifics of the build into the source directory -- possibly including case specific things
- If you build two cases simultaneously on the same machine -- what will happen? I suspect at least one will fail
- Could you build multiple cases at the same time with different compilers?
- It did cause problems with for example MPIserial_2.5.1 now failing to build on Izumi as of today when used with cime6.1.49 #31 and I wonder if there will be other problems that happen later as well