#2857: Compiling CarpetX with OpenPMD
Reporter: Alejandra Gonzalez Status: submitted Milestone: ET_2024_11 Version: Type: bug Priority: major Component: EinsteinToolkit thorn
Dear ETK developers,
While attempting to compile CarpetX with the most recent version of ETK, everything seemed to go smoothly except when it tries to build the external library openPMD. Apparently the library tries to fetch a github repository during compilation, e.g. nlohmann_json, which is not possible to do on the cluster I'm trying to do it since it has no connection to the outside.
Naturally, I downloaded the repository locally, sent it to my cluster manually and set the path on my cluster optionlist file `simfactory/mdb/optionlists/marenostrum5.cfg`:
openPMD_json_src = path/to/my/local/repo
However during compilation it still attempts to clone the repo and I still fail to find the correct place to set this path. For this reason I compiled OpenPMD separately on my system and added the corresponding paths:
``` OPENPMD_DIR = /home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build OPENPMD_LIB_DIRS = /home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build/lib OPENPMD_INC_DIRS = /home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build/openPMD-api/include openPMD_SOURCE_DIR = /home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build/openPMD-api ```
to simfactory/mdb/optionlists/marenostrum5.cfg which I see during compilation that simfactory recognizes them:
``` Setting OPENPMD_DIR to '/home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build' Setting OPENPMD_LIB_DIRS to '/home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build/lib' Setting OPENPMD_INC_DIRS to '/home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build/openPMD-api/include' Setting openPMD_SOURCE_DIR to '/home/uib/uib416720/ETK2024/CarpetX/openPMD-api_build/openPMD-api' End of options from '/home/uib/uib416720/ETK2024/CarpetX/Cactus/configs/sim_cx/OptionList'. ```
Unfortunately I still get an error:
``` COMPILING CarpetX/CarpetX/src/io_openpmd.cxx /gpfs/home/uib/uib416720/ETK2024/CarpetX/Cactus/configs/sim_cx/build/CarpetX/io_openpmd.cxx:17:10: fatal error: openPMD/openPMD.hpp: No such file or directory 17 | #include <openPMD/openPMD.hpp> | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[3]: *** [/gpfs/home/uib/uib416720/ETK2024/CarpetX/Cactus/configs/sim_cx/config-data/make.config.rules:318: io_openpmd.cxx.o] Error 1 make[2]: *** [/gpfs/home/uib/uib416720/ETK2024/CarpetX/Cactus/lib/make/make.thornlib:113: make.checked] Error 2 make[1]: *** [/gpfs/home/uib/uib416720/ETK2024/CarpetX/Cactus/lib/make/make.configuration:179: /gpfs/home/uib/uib416720/ETK2024/CarpetX/Cactus/configs/sim_cx/lib/libthorn_CarpetX.a] Error 2 ```
Even though the paths I passed are correct and the hpp file does exist there. I did a small test script where I added `#include <openPMD/openPMD.hpp>` and worked without problems, which makes me guess it’s an issue within simfactory or CarpetX itself.
I would really appreciate some guidance or suggestions about what I could do. The system is MareNostrum 5, which is relatively new. Thanks in advance. Sincerely, Alejandra
-- Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2857/compiling-carpetx-...
trac@lists.einsteintoolkit.org