Good morning, I am Elena Goria and I want to use the Einstein Toolkit. I am writing to you because of a problem encountered in installing the Einstein Toolkit. In particular when I write the command:
./simfactory/bin/sim build -j2 --thornlist thornlists/einsteintoolkit.th I get the error:
COMPILING EinsteinInitialData/Meudon_Mag_NS/src/check_parameters.cc /Users/elenaluisagoria/Cactus/configs/sim/build/Meudon_Mag_NS/Mag_NS.cc: In function 'void ID_Mag_NS_initialise(cGH*)': /Users/elenaluisagoria/Cactus/configs/sim/build/Meudon_Mag_NS/Mag_NS.cc:202:25: warning: catching polymorphic type 'class std::ios_base::failure' by value [-Wcatch-value=] 202 | } catch (ios::failure e) { | ^ Checking status of thorn NPScalars Checking status of thorn NPScalars_Proca Creating /Users/elenaluisagoria/Cactus/configs/sim/lib/libthorn_Meudon_Mag_NS.a Checking status of thorn NRPyEllipticET Checking status of thorn NaNCatcher COMPILING EinsteinInitialData/NRPyEllipticET/src/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c COMPILING CactusUtils/NaNCatcher/src/catch_nans.c /Users/elenaluisagoria/Cactus/configs/sim/build/NRPyEllipticET/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c: In function 'NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase': /Users/elenaluisagoria/Cactus/configs/sim/build/NRPyEllipticET/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c:147:71: error: passing argument 6 of 'NRPyEllipticET_conformally_flat_BBH_interpolate_solution_to_ADMBase' from incompatible pointer type [-Wincompatible-pointer-types] 147 | input_array, | ^~~~~~~~~~~ | | | CCTK_REAL8 (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0] {aka double (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0]} In file included from /Users/elenaluisagoria/Cactus/configs/sim/build/NRPyEllipticET/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c:3: /Users/elenaluisagoria/Cactus/arrangements/EinsteinInitialData/NRPyEllipticET/src/conformally_flat_BBH/./conformally_flat_BBH_NRPy_function_prototypes.h:74:92: note: expected 'const CCTK_REAL8 *' {aka 'const double *'} but argument is of type 'CCTK_REAL8 (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0]' {aka 'double (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0]'} 74 | const CCTK_REAL *input_gf, | ~~~~~~~~~~~~~~~~~^~~~~~~~ make[3]: *** [NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c.o] Error 1 make[2]: *** [conformally_flat_BBH/make.checked] Error 2 make[1]: *** [/Users/elenaluisagoria/Cactus/configs/sim/lib/libthorn_NRPyEllipticET.a] Error 2 make[1]: *** Waiting for unfinished jobs.... COMPILING configs/sim/bindings/build/NaNCatcher/cctk_ThornBindings.c Creating /Users/elenaluisagoria/Cactus/configs/sim/lib/libthorn_NaNCatcher.a make: *** [sim] Error 2
I don't understand the reason for this error, could you help me solve it? Thank you, Best regards, Elena Goria
Hello Elena,
I am Elena Goria and I want to use the Einstein Toolkit.
Weclome to the toolkit!
I am writing to you because of a problem encountered in installing the Einstein Toolkit.
The errors that you are seeing (incompatible pointers) is something that showed up with very recent version of gcc (gcc 14 I think).
This is supposed to be fixed in the most recent release of the Einstein Toolkit ET_2024_05 "Lev Landau".
Which version are you using? If it is an older version you may want to try the newest release.
Alternatively you (and also if it fails in the current release) you can add the option
-Wno-incompatible-pointer-types
to you CFLAGS option list variable.
The option list file used depends on the cluster / workstation you are compiling on. They all exist in the directory simfactory/mdb/optionlists
If you are compiling on your workstation or an unknown cluster and let the Einstein Toolkit try to auto-detect things (which may well not fully succeed on a cluster since it is geared towards typical laptops / workstations) it uses the file `generic.cfg` or something like `generic-14.cfg` or `generic-mp-14.cfg` *after* (and only after) the `simfactory/bin/setup-silent` step.
Based on the path (/Users/<username>) is this a macOS system?
The most robust way to edit this is then to:
* delete the directory `configs` and all its content so that you are guaranteed to compile from scratch * edit the option list (likely `simfactory/mdb/optionlists/generic.cfg` or `generic-14.cfg`) and find the line that starts with CFLAGS. Add -Wno-incompatible-pointer-types at the end of that line (with a space in front of it)
compile again using the `build` command.
Some instructions are also provided in
https://github.com/einsteintoolkit/jupyter-et/blob/master/tutorial-server/no...
in the prerequisites section. Unfortunately that section has not yet been fully updated for the most recent gcc version.
Yours, Roland
Good evening, Thank you very much for the answer. I tried to follow your suggestion and I modified the CFLAGS but I still have the following error:
make: *** [sim] Error 2
I kindly ask you if you have another suggestion to solve the problem. Best regards, Elena Goria
Il giorno 25 lug 2024, alle ore 14:59, Elena Luisa Goria e.goria@campus.unimib.it ha scritto:
Good morning, I am Elena Goria and I want to use the Einstein Toolkit. I am writing to you because of a problem encountered in installing the Einstein Toolkit. In particular when I write the command:
./simfactory/bin/sim build -j2 --thornlist thornlists/einsteintoolkit.th I get the error:
COMPILING EinsteinInitialData/Meudon_Mag_NS/src/check_parameters.cc /Users/elenaluisagoria/Cactus/configs/sim/build/Meudon_Mag_NS/Mag_NS.cc: In function 'void ID_Mag_NS_initialise(cGH*)': /Users/elenaluisagoria/Cactus/configs/sim/build/Meudon_Mag_NS/Mag_NS.cc:202:25: warning: catching polymorphic type 'class std::ios_base::failure' by value [-Wcatch-value=] 202 | } catch (ios::failure e) { | ^ Checking status of thorn NPScalars Checking status of thorn NPScalars_Proca Creating /Users/elenaluisagoria/Cactus/configs/sim/lib/libthorn_Meudon_Mag_NS.a Checking status of thorn NRPyEllipticET Checking status of thorn NaNCatcher COMPILING EinsteinInitialData/NRPyEllipticET/src/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c COMPILING CactusUtils/NaNCatcher/src/catch_nans.c /Users/elenaluisagoria/Cactus/configs/sim/build/NRPyEllipticET/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c: In function 'NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase': /Users/elenaluisagoria/Cactus/configs/sim/build/NRPyEllipticET/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c:147:71: error: passing argument 6 of 'NRPyEllipticET_conformally_flat_BBH_interpolate_solution_to_ADMBase' from incompatible pointer type [-Wincompatible-pointer-types] 147 | input_array, | ^~~~~~~~~~~ | | | CCTK_REAL8 (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0] {aka double (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0]} In file included from /Users/elenaluisagoria/Cactus/configs/sim/build/NRPyEllipticET/conformally_flat_BBH/NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c:3: /Users/elenaluisagoria/Cactus/arrangements/EinsteinInitialData/NRPyEllipticET/src/conformally_flat_BBH/./conformally_flat_BBH_NRPy_function_prototypes.h:74:92: note: expected 'const CCTK_REAL8 *' {aka 'const double *'} but argument is of type 'CCTK_REAL8 (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0]' {aka 'double (*)[Nxx_plus_2NGHOSTS1][Nxx_plus_2NGHOSTS0]'} 74 | const CCTK_REAL *input_gf, | ~~~~~~~~~~~~~~~~~^~~~~~~~ make[3]: *** [NRPyEllipticET_conformally_flat_BBH_Initialize_ADMBase.c.o] Error 1 make[2]: *** [conformally_flat_BBH/make.checked] Error 2 make[1]: *** [/Users/elenaluisagoria/Cactus/configs/sim/lib/libthorn_NRPyEllipticET.a] Error 2 make[1]: *** Waiting for unfinished jobs.... COMPILING configs/sim/bindings/build/NaNCatcher/cctk_ThornBindings.c Creating /Users/elenaluisagoria/Cactus/configs/sim/lib/libthorn_NaNCatcher.a make: *** [sim] Error 2
I don't understand the reason for this error, could you help me solve it? Thank you, Best regards, Elena Goria
Hello Elena,
I tried to follow your suggestion and I modified the CFLAGS but I still have the following error:
make: *** [sim] Error 2
Is make's generic error response for any sort of error. Somewhere further up should be the actual reason that made the compilation stop.
Could you try and include the information requested on:
http://einsteintoolkit.org/support.html#general-guidelines-for-questions
please?
Yours, Roland
Hello, Thank you for answering. I still have problems. This is the output of the compilation before the error:
Creating cactus_sim in /Users/elenaluisagoria/ET_new/Cactus/exe from EinsteinBase/ADMBase EinsteinBase/ADMCoupling EinsteinBase/ADMMacros Numerical/AEILocalInterp CactusBase/Boundary Carpet/Carpet Carpet/CarpetIOASCII Carpet/CarpetIOBasic Carpet/CarpetIOHDF5 Carpet/CarpetIOScalar Carpet/CarpetInterp Carpet/CarpetLib Carpet/CarpetReduce Carpet/CarpetRegrid2 Carpet/CarpetSlab CactusBase/CartGrid3D EinsteinBase/Constants CactusBase/CoordBase EinsteinBase/CoordGauge Carpet/CycleClock CactusNumerical/Dissipation EinsteinBase/EOS_Base EinsteinEOS/EOS_Omni EinsteinEOS/EOS_Polytrope CactusUtils/Formaline CactusBase/Fortran EinsteinEvolve/GRHydro EinsteinEvolve/GRHydro_InitData KrancNumericalTools/GenericFD ExternalLibraries/HDF5 EinsteinBase/HydroBase CactusBase/IOUtil CactusBase/InitBase CactusNumerical/LocalInterp CactusNumerical/LocalReduce Carpet/LoopControl McLachlan/ML_BSSN McLachlan/ML_BSSN_Helper ExternalLibraries/MPI CactusNumerical/MoL CactusUtils/NaNChecker EinsteinEvolve/NewRad CactusPUGH/PUGH CactusNumerical/ReflectionSymmetry CactusNumerical/Slab CactusNumerical/SpaceMask CactusNumerical/SphericalSurface EinsteinBase/StaticConformal CactusBase/SymBase CactusUtils/SystemStatistics EinsteinInitialData/TOVSolver CactusUtils/TerminationTrigger CactusBase/Time Carpet/Timers EinsteinBase/TmunuBase CactusUtils/Vectors ExternalLibraries/hwloc ExternalLibraries/pthreads ExternalLibraries/zlib datetime=`date +'%Y-%m-%dT%H:%M:%S%z' 2>&1` ; \ if [ $? != 0 ]; then datetime=`date` ; fi ; \ gcc-mp-12 -g -std=gnu99 -O2 -fopenmp -Wall -DCCTK_COMPILE_DATETIME="$datetime" -c -o "/Users/elenaluisagoria/ET_new/Cactus/configs/sim/datestamp.o" -I"/Users/elenaluisagoria/ET_new/Cactus/src/include" -I"/Users/elenaluisagoria/ET_new/Cactus/configs/sim/config-data" "/Users/elenaluisagoria/ET_new/Cactus/src/datestamp.c" if [ ! -d /Users/elenaluisagoria/ET_new/Cactus/exe ]; then mkdir -p /Users/elenaluisagoria/ET_new/Cactus/exe ; fi g++-mp-12 -o "/Users/elenaluisagoria/ET_new/Cactus/exe/cactus_sim" -fopenmp -Wall -g -std=gnu++17 -O2 -fopenmp -Wall -rdynamic "/Users/elenaluisagoria/ET_new/Cactus/configs/sim/datestamp.o" -L/Users/elenaluisagoria/ET_new/Cactus/configs/sim/lib -filelist /Users/elenaluisagoria/ET_new/Cactus/configs/sim/lib/LINKLIST,/Users/elenaluisagoria/ET_new/Cactus/configs/sim/build -lthorn_Formaline-cactus-source -L/opt/homebrew/Cellar/open-mpi/5.0.3_1/lib -pthread -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib/gcc12/gcc/aarch64-apple-darwin23/12.4.0/../../.. -Wl,-rpath,/opt/homebrew/Cellar/open-mpi/5.0.3_1/lib -pthread -Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/lib/gcc12/gcc/aarch64-apple-darwin23/12.4.0/../../.. -lpthread -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5 -lsz -lz -lm -lz -lmpi -lhwloc -lm -lxml2 -lpthread -lxml2 -liconv -lz -llzma -lpthread -licui18n -licuuc -licudata -lpthread -lm -lz -lm -lm -lm -lm -lm -lm -lm -lm -lgfortran ld: warning: duplicate -rpath '/opt/local/lib' ignored ld: warning: duplicate -rpath '/opt/local/lib' ignored ld: warning: duplicate -rpath '/opt/local/lib' ignored ld: library not found for -lsz collect2: error: ld returned 1 exit status make[1]: *** [/Users/elenaluisagoria/ET_new/Cactus/exe/cactus_sim] Error 1 make: *** [sim] Error 2
I also attach the two file requested. Thank you and best regards. Elena Goria
Il giorno 9 ago 2024, alle ore 20:47, Roland Haas rhaas@illinois.edu ha scritto:
Hello Elena,
I tried to follow your suggestion and I modified the CFLAGS but I still have the following error:
make: *** [sim] Error 2
Is make's generic error response for any sort of error. Somewhere further up should be the actual reason that made the compilation stop.
Could you try and include the information requested on:
http://einsteintoolkit.org/support.html#general-guidelines-for-questions
please?
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 .
Hello Elena,
Thank you for answering. I still have problems. This is the output of the compilation before the error:
Thanks for including the log file.
The error show there is
--8<-- ld: library not found for -lsz collect2: error: ld returned 1 exit status --8<--
indicating that the linker did not find the libsz library file. This library is used by HDF5.
The log file does not quite contain enough information to let me know which HDF5 was used. For that it would have to be a log file form a fresh compilation, eg after removing the `configs` directory using
rm -rf configs
Looking at the Option list (and the paths in the error messages) this seems to be a macOS laptop using macports, yes?
In that case the first thing to check would be that you have installed the packages listed under the "Prerequisites" section in
https://github.com/einsteintoolkit/jupyter-et/blob/master/tutorial-server/no...
Which will install a copy of hdf5 from macports.
Though, having just tested this on my own macbook (Sonoma 14.6.1, newest XCode and macports) I get the same error. So let's see...
Ok, there's a libsz in
/opt/local/lib/libaec/lib/
which (one way, not the best but should do for now until I can update the instructions more properly) can be made available by doing
``` export LIBRARY_PATH=/opt/local/lib/libaec/lib ```
before running `sim build`.
With this I still get some warnings that are however harmless and I can run the resulting executable. Eg
``` ./exe/cactus_sim -T ```
which will output a (long) list of all compiled in thorns.
Yours, Roland
Thank you very much, following your suggestion I succeeded to compile it. Best regards, Elena
Il giorno 26 ago 2024, alle ore 19:35, Roland Haas rhaas@illinois.edu ha scritto:
Hello Elena,
Thank you for answering. I still have problems. This is the output of the compilation before the error:
Thanks for including the log file.
The error show there is
--8<-- ld: library not found for -lsz collect2: error: ld returned 1 exit status --8<--
indicating that the linker did not find the libsz library file. This library is used by HDF5.
The log file does not quite contain enough information to let me know which HDF5 was used. For that it would have to be a log file form a fresh compilation, eg after removing the `configs` directory using
rm -rf configs
Looking at the Option list (and the paths in the error messages) this seems to be a macOS laptop using macports, yes?
In that case the first thing to check would be that you have installed the packages listed under the "Prerequisites" section in
https://github.com/einsteintoolkit/jupyter-et/blob/master/tutorial-server/no...
Which will install a copy of hdf5 from macports.
Though, having just tested this on my own macbook (Sonoma 14.6.1, newest XCode and macports) I get the same error. So let's see...
Ok, there's a libsz in
/opt/local/lib/libaec/lib/
which (one way, not the best but should do for now until I can update the instructions more properly) can be made available by doing
export LIBRARY_PATH=/opt/local/lib/libaec/libbefore running `sim build`.
With this I still get some warnings that are however harmless and I can run the resulting executable. Eg
./exe/cactus_sim -Twhich will output a (long) list of all compiled in thorns.
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 .
users@lists.einsteintoolkit.org