MATLAB Answers

0

Gfortran not found by mex -setup

jg614 님이 질문을 제출함. 18 Feb 2019
최근 활동 jg614 님이 답변함. 18 Feb 2019
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?

  댓글 수: 0

로그인 to comment.

제품


릴리스

R2016b

답변 수: 1

jg614 님의 답변 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.

  댓글 수: 0

로그인 to comment.



Translated by