fl:filesys​tem:Access​Denied when calling compiled MEX file

I have a program in a few c++ header and program files, with one file containing a gateway function. I'm able to compile with no errors on Mac and on Linux. On my mac, I can then run the program with no problems. On the Linux cluster I'm working on, when I attempt to run the compiled program I get only the message: "fl:filesystem:AccessDenied". There is no context, and I don't know what is throwing this error. The source files and the binary file are all within my home directory, and I have execute permission for the binary file. I can't see any evidence of any other program accessing the binary or the source files.
Does anyone know what this error means, or how it might occur? I don't even know what the fl: part of the error ID refers to. I've Googled this and only come up with posts about unrelated issues.
Potentially related (though I also see this on a different Linux system that does not show the error) is the warning that comes up when I compile: Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is '4.9.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
This is on a cluster where I don't have access to older versions of gcc or newer versions of Matlab beyond 2017a, so there isn't much I can do about this potential incompatibility.

1 comentario

Neal Morton
Neal Morton el 20 de Jul. de 2018
Editada: Neal Morton el 20 de Jul. de 2018
Did some more digging. To minimally reproduce the problem on my system, I can copy the mexcpp.cpp example from the Matlab documentation, and add:
#include sstream
Then, in the gateway function add: ostringstream ss;
Finally, in Matlab:
>> mex mexcpp.cpp Building with 'g++'. Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is '4.9.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release. MEX completed successfully. >> mexcpp(1,2) fl:filesystem:AccessDenied
Other parts of the standard library seem to work, but oddly enough I can't use ostringstream objects. For now, I'll just do without them.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre MATLAB Compiler en Centro de ayuda y File Exchange.

Productos

Versión

R2017a

Preguntada:

el 20 de Jul. de 2018

Editada:

el 20 de Jul. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by