dyld: Library not loaded
dyld: Library not loaded
Hi,
I have installed seadas 7.4 and ocssw on macOS.
Ocssw scripts ignores the setting: export DYLD_FALLBACK_LIBRARY_PATH="$OCSSWROOT/opt/lib:/usr/local/lib:/usr/lib"
For ex.
modis_GEO.py A2017175103500.L1A_LAC -o test.geo
gives an error
dyld: Library not loaded: /Volumes/data1/ocssw/opt/lib/libmfhdf.0.dylib
Referenced from: /Applications/seadas-7.4/ocssw/opt/bin/hdp
Reason: image not found
I search the error in previous forum discussions and found one enrty but could not help for the solution.
I have installed seadas 7.4 and ocssw on macOS.
Ocssw scripts ignores the setting: export DYLD_FALLBACK_LIBRARY_PATH="$OCSSWROOT/opt/lib:/usr/local/lib:/usr/lib"
For ex.
modis_GEO.py A2017175103500.L1A_LAC -o test.geo
gives an error
dyld: Library not loaded: /Volumes/data1/ocssw/opt/lib/libmfhdf.0.dylib
Referenced from: /Applications/seadas-7.4/ocssw/opt/bin/hdp
Reason: image not found
I search the error in previous forum discussions and found one enrty but could not help for the solution.
Filters:
dyld: Library not loaded
This should probably go in new thread so it can more easily be found by others who encounter the same problem. (NOTE: moved by management :grin:)
The setting:
The setting:
export DYLD_FALLBACK_LIBRARY_PATH="$OCSSWROOT/opt/lib:/usr/local/lib:/usr/lib" is not appropriate for SeaDAS 7.4, but might be from a future or development version of the OCSSW Processing System. Recent versions of macOS have "System Integrity Protection" which blocks setting DYLD_FALLBACK_LIBRARY_PATH, so this may be a from a developer's configuration. There was another recent issue where a file from the future was mistakenly put on the public server, so you may have encountered another instance of the same sort of mistake. It might help the NASA folks sort this out if you could mention the macOS version and exactly how (e.g., using GUI or command-line) and when you attempted the installation.-
OB.DAAC-EDL - SeanBailey
- Posts: 1519
- Joined: Wed Sep 18, 2019 6:15 pm America/New_York
- Endorsed: 9 times
dyld: Library not loaded
Yep, the v7.4 code does not include the opt/lib tree, so either v7.5 was called for in the install_ocssw.py OR no "--git-branch" option was set (and thus the master branch - which is now the v7.5 branch) was installed. v7.5 is not yet fully baked. Remove your OCSSW tree and reinstall with --git-branch=v7.4
Sean
Sean
dyld: Library not loaded
Thank you very much for the answers,
I understand the source of the problem and get rid of the error. I successfully reinstall ocssw form the GUI this time (Mac Os High Sierra 10.13.3).
I found answers of the next two problems from the previous discussions:
1. I need to install python anaconda
2. modify the xcalfile setting in $OCSSWROOT/run/data/hmodisa/msl12_defaults.par as "xcalfile=$OCVARROOT/modisa/xcal/OPER/xcal_modisa_axc_oc_v1.8d"
Now modis_GEO and modis_L1B run successfully both from GUI and commandline. l2gen also runs without any problem in command line executiron.
l2gen ifile=A2017175103500.L1B_LAC geofile=test.geo resolution=500
However l2gen execution from the GUI fails. The error message is:
# PRIMARY INPUT OUTPUT FIELDS
ifile=/Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC
# # WARNING!!! file /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC is not a valid input mission: Mission=null
# SUITE
suite=OC
# ANCILLARY INPUTS Default = climatology (select 'Get Ancillary' to download ancillary files)
I understand the source of the problem and get rid of the error. I successfully reinstall ocssw form the GUI this time (Mac Os High Sierra 10.13.3).
I found answers of the next two problems from the previous discussions:
1. I need to install python anaconda
2. modify the xcalfile setting in $OCSSWROOT/run/data/hmodisa/msl12_defaults.par as "xcalfile=$OCVARROOT/modisa/xcal/OPER/xcal_modisa_axc_oc_v1.8d"
Now modis_GEO and modis_L1B run successfully both from GUI and commandline. l2gen also runs without any problem in command line executiron.
l2gen ifile=A2017175103500.L1B_LAC geofile=test.geo resolution=500
However l2gen execution from the GUI fails. The error message is:
# PRIMARY INPUT OUTPUT FIELDS
ifile=/Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC
# # WARNING!!! file /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC is not a valid input mission: Mission=null
# SUITE
suite=OC
# ANCILLARY INPUTS Default = climatology (select 'Get Ancillary' to download ancillary files)
-
OB SeaDAS - dshea
- Subject Matter Expert

- Posts: 274
- Joined: Thu Mar 05, 2009 10:25 am America/New_York
- Endorsed: 3 times
dyld: Library not loaded
Run this command from the command line:
don
get_obpg_file_type.py /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC
don
dyld: Library not loaded
This is the resut:
$ get_obpg_file_type.py /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC
A2017175103500.L1B_LAC: MODIS Aqua: Level 1B
$ get_obpg_file_type.py /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC
A2017175103500.L1B_LAC: MODIS Aqua: Level 1B
-
OB SeaDAS - dshea
- Subject Matter Expert

- Posts: 274
- Joined: Thu Mar 05, 2009 10:25 am America/New_York
- Endorsed: 3 times
dyld: Library not loaded
That is the correct response. get_obpg_file_type.py is the command that SeaDAS runs to figure out if the input file is appropriate.
In SeaDAS, select menu:
The directory listed after "Local install-dir" should match the directory part that this command returns:
The only other script that SeaDAS runs is:
Let me know how that works.
don
In SeaDAS, select menu:
OCSSW -> Update OC ProcessorsThe directory listed after "Local install-dir" should match the directory part that this command returns:
$ which get_obpg_file_type.pyThe only other script that SeaDAS runs is:
$ next_level_name.py /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC l2gen
Output Name: A2017175103500.L2_LAC_OCLet me know how that works.
don
-
OB SeaDAS - dshea
- Subject Matter Expert

- Posts: 274
- Joined: Thu Mar 05, 2009 10:25 am America/New_York
- Endorsed: 3 times
dyld: Library not loaded
I may have found the problem. Type this command and let me know if anything is printed to the screen.
That is a minus "ell" If there is any output, look in your .bashrc or .profile and get rid of the echo statement that produces the output. That should fix SeaDAS. The next release of SeaDAS will ignore extraneous output.
don
$ bash -lThat is a minus "ell" If there is any output, look in your .bashrc or .profile and get rid of the echo statement that produces the output. That should fix SeaDAS. The next release of SeaDAS will ignore extraneous output.
don
dyld: Library not loaded
Hi,
I am out of office for couple of days, so I can't check the commands. I remember, my bashrc includes "echo". So it seems, you got the problem. Thanks a lot.
I am out of office for couple of days, so I can't check the commands. I remember, my bashrc includes "echo". So it seems, you got the problem. Thanks a lot.
dyld: Library not loaded
Hi,
I get rid of all echo statements from .bashrc and .bash_profile ("$bash -l" returns nothing), but the problem still remains.
Here are the command returns:
$which get_obpg_file_type.py
/Applications/seadas-7.4/ocssw/run/scripts/get_obpg_file_type.py
OCSSW -> Update OC Processors directoty appears as "/Applications/seadas-7.4/ocssw". The directory parts are not exactly the same. Is this the problem?
$ next_level_name.py /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC l2gen
Output Name: A2017175103500.L2_LAC_OC
So it works as you described.
I get rid of all echo statements from .bashrc and .bash_profile ("$bash -l" returns nothing), but the problem still remains.
Here are the command returns:
$which get_obpg_file_type.py
/Applications/seadas-7.4/ocssw/run/scripts/get_obpg_file_type.py
OCSSW -> Update OC Processors directoty appears as "/Applications/seadas-7.4/ocssw". The directory parts are not exactly the same. Is this the problem?
$ next_level_name.py /Users/Tulay/Desktop/MODIS_Ehux/Sampling_Days_L1_L2/A2017175103500.L1B_LAC l2gen
Output Name: A2017175103500.L2_LAC_OC
So it works as you described.