-
Notifications
You must be signed in to change notification settings - Fork 132
Open
Labels
Description
Overview of the feature
on:
zsh 5.9 (arm64-apple-darwin24.0)
macOS 15.6.1
this occurs with nohup
(dev) ➜ tuning git:(fi-tuning) ✗ python -c 'import os;print(os.getenv("DYLD_LIBRARY_PATH"))'
/opt/homebrew/Cellar/open-mpi/5.0.9/lib
(dev) ➜ tuning git:(fi-tuning) ✗ nohup python -c 'import os;print(os.getenv("DYLD_LIBRARY_PATH"))'
appending output to nohup.out
(dev) ➜ tuning git:(fi-tuning) ✗ cat nohup.out
None
also noticed in PyCharm IDE, perhaps shows up in other instances as well...
This can cause issues with automation and mpiexec:
nohup mpiexec -np 2 nrniv -python -mpi simulation.py
would not see $DYLD_LIBRARY_PATH leading to something similar to the following error message -- also note "need a ... DYLD_LIBRARY_PATH on Mac OS" which would not resolve this particular issue:::
(dev) ➜ tuning git:(fi-tuning) ✗ nohup mpiexec -np 2 nrniv -python -mpi -c 'import os;print(os.getenv("DYLD_LIBRARY_PATH"))'
appending output to nohup.out
(dev) ➜ tuning git:(fi-tuning) ✗ cat nohup.out
Try loading libmpi
load_mpi: dlopen(libmpi.dylib, 0x000A): tried: 'libmpi.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibmpi.dylib' (no such file), '/Users/jchen/miniconda3/envs/dev/lib/python3.12/site-packages/neuron/.data/lib/../lib/libmpi.dylib' (no such file), '/Users/jchen/miniconda3/envs/dev/lib/python3.12/site-packages/neuron/.data/bin/../lib/libmpi.dylib' (no such file), '/usr/lib/libmpi.dylib' (no such file, not in dyld cache), 'libmpi.dylib' (no such file)
Is openmpi or mpich installed? If not in default location, need a LD_LIBRARY_PATH on Linux or DYLD_LIBRARY_PATH on Mac OS. On Mac OS, full path to a MPI library can be provided via environmental variable MPI_LIB_NRN_PATH
could not dynamically load libmpi.so or libmpich.so
Try loading libmpi
load_mpi: dlopen(libmpi.dylib, 0x000A): tried: 'libmpi.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibmpi.dylib' (no such file), '/Users/jchen/miniconda3/envs/dev/lib/python3.12/site-packages/neuron/.data/lib/../lib/libmpi.dylib' (no such file), '/Users/jchen/miniconda3/envs/dev/lib/python3.12/site-packages/neuron/.data/bin/../lib/libmpi.dylib' (no such file), '/usr/lib/libmpi.dylib' (no such file, not in dyld cache), 'libmpi.dylib' (no such file)
Is openmpi or mpich installed? If not in default location, need a LD_LIBRARY_PATH on Linux or DYLD_LIBRARY_PATH on Mac OS. On Mac OS, full path to a MPI library can be provided via environmental variable MPI_LIB_NRN_PATH
could not dynamically load libmpi.so or libmpich.so
--------------------------------------------------------------------------
prterun detected that one or more processes exited with non-zero status,
thus causing the job to be terminated. The first process to do so was:
Process name: [prterun-Mac-98808@1,1]
Exit code: 1
--------------------------------------------------------------------------
repeating across however many cores ...
esp. it does not check the $DYLD_LIBRARY_PATH we've set because of the SIP (?) clearing that variable (though the other variable pointing to the mpiexec binary is retained...)
Foreseeable Impact
Issues with automation, running MPI+NEURON.
Can the error message be changed or the pathing for the .dylib handled differently?