Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't have a build of a case modify files in the source directory -- only in the build directories? #32

Open
ekluzek opened this issue Dec 21, 2024 · 0 comments
Labels

Comments

@ekluzek
Copy link

ekluzek commented Dec 21, 2024

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant