shell command on matlab command line shows error

Hi All,
I am using student version of Matlab on Mac OS
I am trying to execute a batch file (modflow.bat) in matlab
------------------------
cat basic.bas > picto12_15.bas
tail -13098 picto09_12.fhd >> picto12_15.bas
~/modflow/src/mf2005 picto12_15.nam > chick
cat basic.bas > picto15_18.bas
tail -13098 picto12_15.fhd >> picto15_18.bas
~/modflow/src/mf2005 picto15_18.nam > chick
cat basic.bas > picto18_21.bas
tail -13098 picto15_18.fhd >> picto18_21.bas
~/modflow/src/mf2005 picto18_21.nam > chick
cat basic.bas > picto21_24.bas
tail -13098 picto18_21.fhd >> picto21_24.bas
~/modflow/src/mf2005 picto21_24.nam > chick
------------------------
this batch file runs fine on the command line of mac. but when I did
!sh modflow.bat
it gives the error
dyld: lazy symbol binding failed: Symbol not found:
__gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
dyld: Symbol not found: __gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
modflow.bat: line 3: 8527 Trace/BPT trap ~/modflow/src/
mf2005 picto12_15.nam > chick
dyld: lazy symbol binding failed: Symbol not found:
__gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
dyld: Symbol not found: __gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
modflow.bat: line 6: 8532 Trace/BPT trap ~/modflow/src/
mf2005 picto15_18.nam > chick
dyld: lazy symbol binding failed: Symbol not found:
__gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
dyld: Symbol not found: __gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
modflow.bat: line 9: 8535 Trace/BPT trap ~/modflow/src/
mf2005 picto18_21.nam > chick
dyld: lazy symbol binding failed: Symbol not found:
__gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
dyld: Symbol not found: __gfortran_transfer_character_write
Referenced from: /Users/ashutoshsingh/modflow/src/mf2005
Expected in: /Applications/MATLAB_R2011a.app/sys/os/maci64/
libgfortran.3.dylib
modflow.bat: line 12: 8538 Trace/BPT trap ~/modflow/src/
mf2005 picto21_24.nam > chick
sh modflow.bat: Trace/breakpoint trap
--------------------------------------------------
Can anyone tell me where is the problem
Thanking You and Regards
Ashutosh Singh

2 Comments

Perhaps MATLAB is running in an environment different from the system shell. It looks like your LD_LIBRARY_PATH setting in MATLAB may be different from that in the shell. Try running MATLAB from the system shell and see if it gets the right setting.
Hi,
I tried running from the system shell. The same problem again. Any other suggestion. Where can I change the path in MATLAB of LD_LIBRARY_PATH and to what should I change it to.

Sign in to comment.

 Accepted Answer

Hi,
The problem was with the env variable DYLD_LIBRARY_PATH I used the following command to setup the env variable in matlab and now it works fine.
setenv('DYLD_LIBRARY_PATH', '/usr/local/bin/');

5 Comments

I had the same problem and that works but after that I cannot run anything in parallel (parallel configuration validation fails with error message: dyld: Library not loaded: libtbb.dylib
Referenced from: /Applications/MATLAB_R2011a.app/bin/maci64/libut.dylib
Reason: image not found
see ex. http://www.mathworks.com/matlabcentral/answers/17437-dyld_library_path-problem
More than one directory can be supplied in the second argument, separated from each other by ':' characters.
Yes, but for some reason when I enter matlab's additional paths I get the "dyld: lazy symbol ..." problem!
I don't know if this info about DYLD_LIBRARY_PATH will help, but it might:
http://superuser.com/questions/282450/where-do-i-set-dyld-library-path-on-mac-os-x-and-is-it-a-good-idea
It turns out that R experts do not approve of this solution. Here is an official approach that involves setting a symbolic link from /usr/local/bin to the R library:
sudo ln -s /Library/Frameworks/R.framework/Resources/R /usr/local/bin/R
See: http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Command-line-version-of-R

Sign in to comment.

More Answers (2)

I had a similar problem and this fixed it! Thanks for posting!
This solution also works to integrate the statistical programming language R (<http://www.r-project.org/>) into Matlab. The system call "R CMD BATCH My_R_Script.R" works when the proper environmental variable is set via: "setenv('DYLD_LIBRARY_PATH', '/usr/local/bin/');" I really appreciate this posting!

1 Comment

It turns out that R experts do not approve of this approach to the solution. Here is an official approach that involves setting a symbolic link from /usr/local/bin to the R library:
ln -s /Library/Frameworks/R.framework/Resources/R /usr/local/bin/R
See: http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Command-line-version-of-R

Sign in to comment.

Categories

Asked:

on 1 Aug 2011

Commented:

on 16 Oct 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!