The code doesn't work when compile with gcc version > 9 due to this part of code in ipopt.m
elseif isunix if strcmp( cmp, 'GLNXA64') == 1 myCCompiler = mex.getCompilerConfigurations('C','Selected'); switch myCCompiler.Version(1:1) case {'1','2','3','4','5'} error('mexIPOPT do not support gcc < gcc6'); case {'6'} [x,info] = ipopt_linux_3(varargin{:}); case {'7','8'} [x,info] = ipopt_linux_4(varargin{:}); otherwise [x,info] = ipopt_linux_5(varargin{:}); end elseif strcmp( cmp, 'x86_64-pc-linux-gnu') == 1 % Octave [x,info] = ipopt_linux_5(varargin{:}); else error('IPOPT: No support for architecture %s\n', cmp ); end
It only checks the first digit of the version so any version great than 9 won't work.
The code doesn't work when compile with gcc version > 9 due to this part of code in ipopt.m
elseif isunix if strcmp( cmp, 'GLNXA64') == 1 myCCompiler = mex.getCompilerConfigurations('C','Selected'); switch myCCompiler.Version(1:1) case {'1','2','3','4','5'} error('mexIPOPT do not support gcc < gcc6'); case {'6'} [x,info] = ipopt_linux_3(varargin{:}); case {'7','8'} [x,info] = ipopt_linux_4(varargin{:}); otherwise [x,info] = ipopt_linux_5(varargin{:}); end elseif strcmp( cmp, 'x86_64-pc-linux-gnu') == 1 % Octave [x,info] = ipopt_linux_5(varargin{:}); else error('IPOPT: No support for architecture %s\n', cmp ); endIt only checks the first digit of the version so any version great than 9 won't work.