Gfortran not found by mex -setup

4 views (last 30 days)
jg614
jg614 on 18 Feb 2019
Commented: af11111 on 10 Nov 2020
I'm trying to set up mex compilers on R2016b. I have GCC 8.2.0 installed (same version for gcc-c++ and gfortran). I was able to set up the GCC C and C++ compilers without a problem. When I try mex -setup FORTRAN I get an error:
Error using mex
No supported compiler or SDK was found. For options, visit
http://www.mathworks.com/support/compilers/R2016b/glnxa64.html.
But gfortran is definitely there:
system('which gfortran')
/usr/bin/gfortran
ans =
0
I understand that this is several versions newer than the officially supported version, but in my experience MATLAB usually just gives you a warning about using an unsupported version of the compiler rather than flat-out refusing to use it. What could be causing MATLAB to fail in setting up the Fortran compiler?

Accepted Answer

jg614
jg614 on 18 Feb 2019
Well, I found the solution embarrasingly quickly after continuing to search.
See this answer. The blog post linked in that answer gives instructions for applying the fix on a Mac; ignore all instructions about the Mac SDK.
Quick solution:
  • Edit /usr/local/MATLAB/R2016b/bin/glnxa64/mexopts/gfortran.xml
  • In the line beginning with "LINKLIBS=..." remove both references to gfortranbegin
  • Add -lgcc_s.1 to the end of that line inside the quotes
  • At the bottom of the file, within the GFORTRANBEGIN_LIBDIR block, replace 'dirExists name="$$"' with 'dirExists name="/"'.
  • Save the file and set up the Fortran compiler as normal. This worked for me on Gentoo using gfortran 8.2.0-r6.
  1 Comment
af11111
af11111 on 10 Nov 2020
This worked for me on Ubuntu 20.04 for Matlab 2016b!

Sign in to comment.

More Answers (0)

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!