Dear experts,
I am having a problem on macOS that when loading the grpc module via alienv the library is not found. This results i.e. in readout.exe not finding libgrpc. Examples:
mfasel-utkbook:~ markusfasel$ alienv enter Readout/latest
Currently Loaded Modulefiles:
1) BASE/1.0 4) Monitoring/v2.6.4-1 7) Common-O2/v1.4.6-2 10) FairLogger/v1.5.0-2 13) FairMQ/v1.4.12-1 16) grpc/v1.19.1-2
2) boost/v1.70.0-3 5) Ppconsul/0.1.0-2 8) libInfoLogger/v1.3.7-2 11) ofi/v1.7.1-2 14) protobuf/v3.7.1-2 17) Control-OCCPlugin/v0.12.2-1
3) ApMon-CPP/v2.2.8-alice2-2 6) Configuration/v2.2.5-1 9) ReadoutCard/v0.18.5-1 12) asiofi/v0.3.1-2 15) c-ares/v1.15.0-2 18) Readout/latest
Use alienv list to list loaded modules. Use exit to exit this environment.
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
[Readout/latest] ~ $> readout.exe
dyld: Library not loaded: libgrpc.dylib
Referenced from: /Users/markusfasel/alice/sw/osx_x86-64/grpc/v1.19.1-2/lib/libgrpc++.dylib
Reason: image not found
Abort trap: 6
[Readout/latest] ~ $> env | grep GRPC
echo $LD_LIBRARY_PATH | grep grpc
/Users/markusfasel/alice/sw/osx_x86-64/Readout/v1.3.5-1/lib:/Users/markusfasel/alice/sw/osx_x86-64/Control-OCCPlugin/v0.12.2-1/lib:/Users/markusfasel/alice/sw/osx_x86-64/grpc/v1.19.1-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/c-ares/v1.15.0-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/protobuf/v3.7.1-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/FairMQ/v1.4.12-1/lib:/Users/markusfasel/alice/sw/osx_x86-64/asiofi/v0.3.1-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/ofi/v1.7.1-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/FairLogger/v1.5.0-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/ReadoutCard/v0.18.5-1/lib:/Users/markusfasel/alice/sw/osx_x86-64/libInfoLogger/v1.3.7-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/Common-O2/v1.4.6-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/Configuration/v2.2.5-1/lib:/Users/markusfasel/alice/sw/osx_x86-64/Ppconsul/0.1.0-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/Monitoring/v2.6.4-1/lib:/Users/markusfasel/alice/sw/osx_x86-64/ApMon-CPP/v2.2.8-alice2-2/lib:/Users/markusfasel/alice/sw/osx_x86-64/boost/v1.70.0-3/lib
[Readout/latest] ~ $> echo $DYLD_LIBRARY_PATH | grep grpc
The grpc module file looks correct:
#%Module1.0
proc ModulesHelp { } {
global version
puts stderr "ALICE Modulefile for grpc v1.19.1-2"
}
set version v1.19.1-2
module-whatis "ALICE Modulefile for grpc v1.19.1-2"
# Dependencies
module load BASE/1.0 \
\
c-ares/v1.15.0-2 \
protobuf/v3.7.1-2
# Our environment
set GRPC_ROOT $::env(BASEDIR)/grpc/$version
prepend-path PATH $GRPC_ROOT/bin
prepend-path LD_LIBRARY_PATH $GRPC_ROOT/lib
The problem seems to be connected that the grpc paths are not in the DYLD_LIBRARY_PATH, because when I set the DYLD_LIBRARY_PATH to LD_LIBRARY_PATH the problem is gone. Do you mind setting the DYLD_LIBRARY_PATH in the module file? It seems to be a recent issue which came in with the recent version of alidist.
macOS version is Catalina.
Thanks in advance!
Cheers
Markus