[Users] Trouble Building Cactus Thorns on Mac and on Expanse

Roland Haas rhaas at illinois.edu
Thu Dec 7 09:05:11 CST 2023


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/notebooks/CactusTutorial.ipynb

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
> 
> 1) 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.

> 2) 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.

> 3) 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

-- 
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://pgp.mit.edu .
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.einsteintoolkit.org/pipermail/users/attachments/20231207/a4721153/attachment-0001.sig>


More information about the Users mailing list