How to setup gfortran on Mac OSX 10.9 and MatLab R2014a?

4 views (last 30 days)
MatLab 2014a Mac OSX 10.9.2 Maverick Mex gfortran configuration
I'm trying to configure using mex -setup FORTRAN and I'm getting the message:
mex -setup FORTRAN Error using mex No supported compiler or SDK was found.
But I have gfortran 4.6.4 installed via fink. The website says that 4.3.x is supported, but isn't gfortran backward compatible in their revisions; therefore, 4.6.4 or even 4.8.2 (the latest for OSX 10.9 as of this posting) should work right? How does one set the fortran compiler options?
Is it best to finesse things with a higher version of gfortran or to install the exact version in the MatLab compatibility chart calls for? Why did the C and C++ portions of the gcc package work just fine and not the gfortran? What happened to the MEXOPTS.sh file in R2014a?
  4 Comments
Stephen Shank
Stephen Shank on 7 May 2014
Edited: Stephen Shank on 7 May 2014
Any comment on the backward compatibility question of gfortran? I installed gcc4.3 via MacPorts which gave me "gfortran-mp-4.3." I showed mex where this was located (using the link below). The timesTwo.F example compiles and can be invoked from the MATLAB command line. However, the yprime.F example compiles but unfortunately crashes MATLAB when invoked. It would be nice to be able to use the latest available binary from the gfortran binaries page. But when I try this, I get the following error:
Error using mex Undefined symbols for architecture x86_64: "_mexfunction_", referenced from: -exported_symbol[s_list] command line option ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
and am not sure how to proceed...
Stephen Shank
Stephen Shank on 7 Sep 2014
Well, this is embarrassing... but fortunately I resolved the issue above. Turns out the Fortran yprime examples are dependent on TWO files. So running
mex -v yprimef.F yprimefg.F
did the trick. I cannot read Fortran but need to get some code compiled, so I hope this comment will be useful to someone in a similar situation.

Sign in to comment.

Accepted Answer

Ken Atwell
Ken Atwell on 7 Apr 2014
Try:
>> mex -v <filename.f>
This will give you verbose output that should help pinpoint why MEX can't find gfortan. Copy and paste the full output into this Answer.
  5 Comments
Nathan
Nathan on 9 Apr 2014
@ Ken,
Thanks a million for your posts! After following the suggestions in the link directly above I was able to add the path to the startup.m file and finish following the example above with success.

Sign in to comment.

More Answers (0)

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!