Elliptica_ID_reader library not found at runtime on macOS
Issue #2710
resolved
Trying to test the ET with Elliptica_ID_Reader on macOS (Venture) I get errors like this:
+ mpirun -np 2 /Users/rhaas/simulations/testsuite-osx-homebrew-ET_Next-sim-procs000001/SIMFACTORY/exe/cactus_sim -L 3 /Users/rhaas/simulations/testsuite-osx-homebrew-ET_Next-sim-procs000001/output-0000/arrangements/EinsteinAnalysis/ADMMass/test/tov.par
dyld[4198]: Library not loaded: /Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so
Referenced from: <DC225E4E-A1D6-3861-8C26-5B529968596F> /Users/rhaas/simulations/testsuite-osx-homebrew-ET_Next-sim-procs000001/SIMFACTORY/exe/cactus_sim
Reason: tried: '/Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so' (no such file), '/Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so' (no such file), '/usr/local/lib/libelliptica_id_reader.so' (no such file), '/usr/lib/libelliptica_id_reader.so' (no such file, not in dyld cache)
dyld[4199]: Library not loaded: /Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so
Referenced from: <DC225E4E-A1D6-3861-8C26-5B529968596F> /Users/rhaas/simulations/testsuite-osx-homebrew-ET_Next-sim-procs000001/SIMFACTORY/exe/cactus_sim
Reason: tried: '/Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so' (no such file), '/Users/rhaas/ET_Next/configs/sim/scratch/build/Elliptica_ID_Reader/Elliptica_ID_Reader_1.0/lib/libelliptica_id_reader.so' (no such file), '/usr/local/lib/libelliptica_id_reader.so' (no such file), '/usr/lib/libelliptica_id_reader.so' (no such file, not in dyld cache)
for all tests making it impossible to run anything.
There are multiple things wrong with this:
- dynamic libraries in macOS (should?) end in
.dylib
, not.so
- they should not be searched for in
configs/sim/scratch/build
which is a temporary directory used only to build libraries, but inconfigs/sim/scratch/external
- we typically build only the static library and not the dynamic library since having them both present causes problems on clusters that require static linking (typically Cray systems)
Comments (4)
-
-
- changed milestone to ET_2023_11
-
reporter Fixed (apparently) as of git hash aef265f "Created a static lib." of Elliptica_ID_Reader
-
reporter - changed status to resolved
- Log in to comment
As far as I can see the libraries are put in
configs/sim/scratch/external.
Anyway, I added an option to ensure that it compiles only the static library. So this should be fixed now. Please let me know. Thanks!