Hello,
I’d like to use Hyrdro_RNSID in order to generate a initial data for a rotating neutron star, but I’m having some difficulties building the Cactus thorns. Initially I’m just trying to build all of them.
When I try to build on my Mac using the latest GNU compilers from Brew, I get a message that my compiler doesn’t support std c11. The version of gcc installed is Apple clang version 15.0.0 (clang-1500.0.40.1), whatever that gcc version that ends up being.
If I use the gcc from the MESA SDK, (version 12.2.0) I get the same message.
So, I switched to try it on the SDSC Expanse cluster, and at least I don’t get that problem, but I do end of having an issue that it is looking for some Slurm include files from a version that isn’t on expanse any more. Specifically it is looking under /cm/shared/apps/slurm/20.02.3/ but Expanse now has /cm/shared/apps/slurm/21.08.8.
So I have a few questions
1) How can I just build what I need for Hydro_RNSID? 2) What can I do about building on my Mac? 3) Where can I change the configuration of my build so that it refers to the correct Slurm version when building on Expanse?
Thanks!
Joe Hellmers San Diego State University- Physics Dept.
Hello Joe,
Sorry for the delay.
When I try to build on my Mac using the latest GNU compilers from Brew, I get a message that my compiler doesn’t support std c11. The version of gcc installed is Apple clang version 15.0.0 (clang-1500.0.40.1), whatever that gcc version that ends up being.
Apple's clang is not supported for the ET (lack openmp, no fortran compiler). Instead please take a look at the "prerequisites" section of:
https://github.com/einsteintoolkit/jupyter-et/blob/master/tutorial-server/no...
which describes what packages to install on macOS using brew (this assumes a freshly installed system, so depending on how many other packages are installed eg for gcc using brew, conda, whatnot this may not work immediately for you).
If I use the gcc from the MESA SDK, (version 12.2.0) I get the same message.
Did you run the "./simfactory/bin/sim setup-silent" command? When you say you us e "gcc from the MESA SDK" how did you ensure that it is used? the "setup-silent" command above will have created a machine ini file in simfactory/mdb/machines/<YOURNMACHINENAME>.ini where <YOURMACHINENAME> is the hostname of your laptop (from hostname -f). It in turn has an entry optionlist that points to a .cfg file in simfactory/mdb/optionlists that in turn has CC and CXX settings for the compiler used.
gcc-12 from machports and homebrew was enough to compile the ET on a mac M1 system for the Schwarzschild release. Right now, at least machports, has broken their compiler setup it seems and gcc13 fails to compile some files and gcc12 setups fail b/c gcc13 is pulled in anyway. I have not yet tried homebrew yet.
So, I switched to try it on the SDSC Expanse cluster, and at least I don’t get that problem, but I do end of having an issue that it is looking for some Slurm include files from a version that isn’t on expanse any more. Specifically it is looking under /cm/shared/apps/slurm/20.02.3/ but Expanse now has /cm/shared/apps/slurm/21.08.8.
That may be an issue with simfactory's machine database in the release ET_2023_05 having aged too much. You can try the simfactory development branch ("master"), like so:
cd repos/simfactory2 # these three make all branches available git fetch --unshallow git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" git fetch origin git checkout master
So I have a few questions
- How can I just build what I need for Hydro_RNSID?
There is a tool "MakeThornList" in ./utils/Scripts/MakeThornList that you can use to create a minimal thornlist for a given parameter file that you would like to run (not for a single thorn, which usually is not very useful). Eg to make a minimal parameter file for the qc-mclachlan.par example parameter file you'd run:
./utils/Scripts/MakeThornList --master thornlists/einsteintoolkit.th par/qc0-mclachlan.par >thornlists/qc0-mclachlan-minimal.th
where "--master" gives the list of all available thorns.
- What can I do about building on my Mac?
Installing the packages using brew should work. The prerequisites section linked to above should do this.
- Where can I change the configuration of my build so that it refers
to the correct Slurm version when building on Expanse?
I think updating simfactory should address this.
Yours, Roland
users@lists.einsteintoolkit.org