Elliptica_ID_reader library not found at runtime on macOS

Issue #2710 resolved
Roland Haas created an issue

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:

  1. dynamic libraries in macOS (should?) end in .dylib, not .so
  2. they should not be searched for in configs/sim/scratch/build which is a temporary directory used only to build libraries, but in configs/sim/scratch/external
  3. 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)

  1. Alireza R.

    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!

  2. Log in to comment