MATLAB Answers

3

Incompatible gcc version with mex

Asked by Andréas Sundström on 26 Jun 2018
Latest activity Commented on by Michal Kvasnicka on 8 Apr 2019
I run Ubuntu 18.04. When I try to compile files with mex, I get the error message saying that mex requires version 6.3.x of gcc, whereas the default gcc version on 18.04 is 7.3.
So far so good, I try to get my hands on an older version of gcc, but all i can find through the supported repositories is gcc version 6.4. The only way I seem to be able to get specifically version 6.3 is by manually compiling and installing gcc, but frankly, I do not want to go down that rabbit hole.
I have seen your answer regarding why you don't always support the latest gcc version, but can you please at least offer support for the latest version of gcc 6 (i.e. 6.4.x)?

  1 Comment

It would be very helpful to have some advice on what to do about this. I also don't want to have to compile gcc from sources, but I now have a system with gcc 5.4 and gcc 6.4 both installed, and I can't guess which I should try to use to compile mex files.
It's really very puzzling that the compiler needed for MATLAB isn't actually supported.

Sign in to comment.

Products


Release

R2018a

6 Answers

Answer by Maria Geffen on 26 Sep 2018

I have the same issue with 2018b... sure enough, it also only supports gcc-6.3.x... this is absolutely maddening.

  0 Comments

Sign in to comment.


Answer by Robert
on 26 Jun 2018
Edited by Robert
on 26 Jun 2018

I agree, Mathworks should have updated 2018a , at the very least, to gcc-6.4 at time of its release, which is was a bug fix to gcc-6.3, the only way to get 6.3 now is to a) compile it yourself, or b) use an old archive repository or .deb file. I have not tried the prerelease 2018b, I wonder what gcc version it supports?

  0 Comments

Sign in to comment.


Answer by Michal Kvasnicka on 1 Jul 2018

Frankly speaking I do not understand why TMW choose the "compatible" compiler version on Linux so terribly. On many distributions officially supported by Matlab is very difficult to install "compatible" gcc version.
On the other hand, in most cases the incompatibility mex warning message has no impact on functionality.

  1 Comment

To be more specific, I'm trying to build and install the Matlab wrapper for Adios. There, I get nothing out except this incompatibility warning and an error.

Sign in to comment.


Answer by Patrick Amy on 2 Oct 2018

I actually built and installed gcc-6.3 from source after much effort, but I get an error that mex can't find gcc-6.3 for C++ compiling, only for C compiling. So when I run:
>> mex -setup C++ Error using mex No supported compiler was found. For options, visit https://www.mathworks.com/support/compilers.
However, when I run
> mex -setup -v Verbose mode is on. ... Looking for compiler 'gcc' ... ... Executing command 'which gcc' ...Yes ('/usr/bin/gcc'). ... Executing command 'gcc -print-file-name=libstdc++.so' ...Yes ('/usr/lib64/libstdc++.so'). Found installed compiler 'gcc'. ... Looking for compiler 'gcc' ... ... Executing command 'which gcc' ...Yes ('/usr/bin/gcc'). ... Executing command 'gcc -print-file-name=libstdc++.so' ...Yes ('/usr/lib64/libstdc++.so'). Found installed compiler 'gcc'. MEX configured to use 'gcc' for C language compilation.
I know my computer is using gcc-6.3 because when I check the version in the terminal I get
gcc (GCC) 6.3.0 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Could Matlab just not know where to look for the compiler? I already add the /bin file with gcc in it to the path and set the environment variables and what not.

  0 Comments

Sign in to comment.


Answer by Alexander Kristensen on 12 Mar 2019
Edited by Alexander Kristensen on 12 Mar 2019

I have a similar issue.
Compiling mex files works fine with current gcc compiler (gcc 8.2.0 on Ubuntu 18.10, MATLAB 2018b) but throws a warning message.
However if I try and use mexcuda it throws an error of incompatibility.
"Error using mex.
no supported compiler was found. For options. visit https://www.mathworks.com/support/compilers ..."
But installing the gcc 6.3.x is quite tedious, especially for someone with no experience in that area.
I hope for more assistance for Linux users.

  0 Comments

Sign in to comment.


Answer by Victor
on 8 Apr 2019

Can you share how to compile mex files with gcc 8.2.0? Thanks

  1 Comment

I am afraid that there is no simple way how to reliably compile mex files on Ubuntu 18.10 with gcc 8.2.0 ... :(
This is terrible situation, because Ubuntu 18.10 is officially supported OS (see here and here ), but the only officially recomended way is via additional installation of gcc 6.3 (???!!!), which is on Ubuntu 18.10 very complicated or nearly impossible task, because only version gcc-6.4 is available in official Ubuntu repos (see here).
This is the main reason why I switch from Ubuntu to Debian 9 (stable) based distros (MX Linux 18, in my case).

Sign in to comment.