Ask ROOT to use LD_LIBRARY_PATH and not DYLD_LIBRARY_PATH

Hello,
I am attempting to run pion-proton collisions in pythia8 with pdfs from LHAPDF.
I am using an M1 mac and root version 6.28.00 with patches.
I believe I have correctly compiled pythia8 with ROOT and LHAPDF. However, when I attempt to run a line that would require lhapdf in root, I get an error telling me that pythia can not find the correct .so file:
input:

pythia8->Initialize( 211, 2212, 14000.);

output:

PYTHIA Error in Plugin::Plugin: dlopen(libpythia8lhapdf6.so, 0x0001): tried: 'libpythia8lhapdf6.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibpythia8lhapdf6.so' (no such file), '/Users/jake/progs/ROOT/root-install/lib/../lib/libpythia8lhapdf6.so' (no such file), '/Users/jake/progs/ROOT/root-install/bin/../lib/libpythia8lhapdf6.so' (no such file), '/usr/lib/libpythia8lhapdf6.so' (no such file, not in dyld cache), 'libpythia8lhapdf6.so' (no such file), '/usr/local/lib/libpythia8lhapdf6.so' (no such file), '/usr/lib/libpythia8lhapdf6.so' (no such file, not in dyld cache)  '

However, I know that the directory containing this file is in my LD_LIBRARY_PATH variable. When I explicitly set the DYLD_LIBRARY_PATH to LD_LIBRARY_PATH using the following code, everything works.

root [0] TString ldLibraryPath = gSystem->Getenv("LD_LIBRARY_PATH");
root [1] gSystem->Setenv("DYLD_LIBRARY_PATH", ldLibraryPath.Data());

How can I set it so ROOT always uses LD_LIBRARY_PATH instead of DYLD_LIBRARY_PATH? Or is something else the matter

Thank you!

ROOT Version: 6.28.00 with patches
compiled from source in line with pythia8


Hi @jmccool,

thank you for your contribution. Maybe @pcanal could take a look?

Cheers,
Marta

oka thank you, I would appreciate any help

Indeed on MacOS you often need to set both DYLD_LIBRARY_PATH and LD_LIBRARY_PATH

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.