Hi Roland,
The toolkit is still building, but it looks like things are working properly and I want to thank you again for your help!
As you suggested, I added a .hostname file and ran ./simfactory/bin/sim build --clean --reconfig . I'm past the -fopenmp issue which plagued me for days! Thank you.
While I was trying to get around the -fopenmp problem, I edited the file /Users/murray/Cactus/configs/sim/OptionList . I'm not sure if that file is input or output. It's input, but it might be both. I changed the version name (added a '_' at the end of the version string); set the compiler and preprocessor directives to use gcc-10, etc.; and turned the OpenMP options off.
When I did the reconfig, the options I set were retained. And it looks like the toolkit is building properly!
I'm going to see if I can build again while turning OpenMP back on, but I'll wait until this build is complete. It's taking a lot longer to build than I expected (my Macbook Pro is old -- early 2015), so I won't know until tomorrow.
Again, thanks so much!
Yours,
Murray
On Tue, Apr 13, 2021 at 11:50 AM Roland Haas rhaas@illinois.edu wrote:
Hello Murray,
ok. Good to hear that.
My initial email was a send a bit off the cuff since I had not quite realized that you were already using the notebook.
OSX is a bit tricky for the ET to support for the reasons that you outlined.
When you run "./simfactory/bin/sim setup-silent" simulation factory will find the gcc-10 compiler and creates a set of of make options for your laptop (there's explicit code in simfactory to recongnize OSX). So running this command is essential.
You should not have to adjust anything (though given that the last test with Catalina rather than BigSur was about a year ago that may not be true anymore if HomeBrew changed too much).
This set of options is tied to your laptop's hostname as reported by "hostname -f". Unfortunately this hostname is not "stable" in the sense that it may change with time since it can be derived from your laptop's IP address obtained from the wireless network. Eg on my test laptop it currently reads:
wirelessprvnat-172-16-210-128.near.illinois.edu
So you may have to check that
"./simfactory/bin/sim whoami"
returns the expected machine name and run "./simfactory/bin/sim setup-silent" again if it reports an unknown machine.
You can also create a file $HOME/.hostname and add a name that you would like simfactory to use for your laptop eg:
echo >$HOME/.hostname "murrays-laptop"
(no spaces allowed).
Yours, Roland
Hi Roland,
Thanks so much for your response! I've been struggling with the -fopenmp issue for a couple of days now. I'll try your suggestions and let you
know
if it works. It's encouraging to know that the ET works with Catalina:
that
gives me hope I'll get it to work eventually.
I'm using the notebook CactusTutorial.ipynb, and I certainly don't want
to
use clang. But the Mac makes using gcc instead of clang tricky. On my machine, gcc gets clang; you need to enter gcc-10 to get gcc.
I verified that gcc (gcc-10) accepts the -fopenmp flag properly. So both gcc and OpenMP seem to work properly on my machine. My problem is convincing ET to use gcc instead of clang! BTW, I'm using brew. It's possible that MacPorts would work better, but I think brew and MacPorts
are
incompatible.
Again, thank you and I'll let you know my progress later today.
Yours,
Murray
On Tue, Apr 13, 2021 at 9:55 AM Roland Haas rhaas@illinois.edu wrote:
Hello Murray,
thinking about this a bit more.
The notebook currently (as of last week) lets me compile and run the ET using Homebrew (and worked on Catalina in the past).
One thing to keep in mind is that the various CC/CXX and other exported env variables are only used the *first* time you attempt to build and not afterwards.
You may have more luck having the options be respected by using:
./simfactory/bin/sim build --clean --reconfig
which will recompile from scratch and re-run the configuration stage or even by manually removing the "configs/sim" directory completely.
Did you run "simfactory/bin/sim setup-silent" before trying to compile?
Yours, Roland
Hello Murray,
clang (in particular Apple's version delivered in OSX) is not fully supported by the ET (due to, at least historically, no OpenMP
support,
no paired Fortran compiler).
Please see the initial section of:
https://urldefense.com/v3/__https://github.com/nds-org/jupyter-et/blob/maste...
for how to use the ET on OSX using homebrew or macports.
If you have a Fortran compiler installed you can try disabling openmp by setting OPENMP=no in your option list. I strongly advise
consulting
the link I provided above and following the (tested and verified) instructions there in particular if this is your first time using the toolkit.
Yours, Roland
Hi All,
Thanks so much for making the Einstein Toolkit software available!
I'm using the CactusTutorial.ipynb that I got from your site. I'm
trying to
build ET on my 2015 Macbook Pro running OS 10.15.7.
I'm stuck at the cell (after) *Building the Einstein Toolkit* . I modified that cell to get past issues with zlib . The cell now
looks
like:
%%bash export ZLIB_DIR=/usr/local/opt/zlib/lib export LDFLAGS="-L/usr/local/opt/zlib/lib" export CPPFLAGS="-I/usr/local/opt/zlib/include" export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig" ./simfactory/bin/sim build -j2 --thornlist ../einsteintoolkit.th
Running that cell eventually stops with the errors
COMPILING CactusBase/CoordBase/src/Domain.c COMPILING
configs/sim/bindings/build/ADMCoupling/cctk_ThornBindings.c
clang: error: unsupported option '-fopenmp' make[3]: *** [Domain.c.o] Error 1 make[2]: *** [make.checked] Error 2 make[1]: ***
[/Users/murray/Cactus/configs/sim/lib/libthorn_CoordBase.a] Error 2
make[1]: *** Waiting for unfinished jobs.... clang: error: unsupported option '-fopenmp' make[3]: *** [cctk_ThornBindings.c.o] Error 1 make[2]: *** [cctk_Bindings/make.checked] Error 2 make[1]: ***
[/Users/murray/Cactus/configs/sim/lib/libthorn_ADMCoupling.a]
Error 2 make: *** [sim] Error 2
Can you help? I'm confused by the error message coming from
clang,
since
the ET seems to use gcc, but my attempt to force gcc, by including
the
exports below, made no difference:
export CC=gcc-10 export CXX=gcc-10
I really appreciate any help you are able to provide!
Thank you.
Murray (Wolinsky) ______________________________________________________
Additional (likely irrelevant) notes:
I used brew to install the prerequisites. It seemed to have gone more-or-less ok.
Brew did issue a somewhat concerning message regarding hdf5:
==> Pouring hdf5-1.12.0_1.catalina.bottle.1.tar.gz
Warning: hdf5 dependency gcc was built with a different C++
standard
library (libstdc++ from clang). This may cause problems at runtime.
But it didn't provide any guidance into fixing the potential
problem.
Itried
brew reinstall hdf5
and brew no longer complains.
I also had some issues with the subversion installation. But I
don't
think
they're responsible for my current problem.
Also, when I did the step *Configuring SimFactory for your
machine*, I
got
the output:
Here we will define some necessary Simulation Factory defaults.
Determining local machine name: mw-3.local
--------------------SUMMARY--------------------:
[default] user = murray email = murray allocation = NO_ALLOCATION
------------------END SUMMARY------------------:
Contents successfully written to /Users/murray/Cactus/repos/simfactory2/etc/defs.local.ini
which looks OK, but the NO_ALLOCATION message seems like it might
be
of concern?
-- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from
https://urldefense.com/v3/__http://pgp.mit.edu__;!!DZ3fjg!vBkInm5NFkd2yeuitJ... .
-- 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 .