Error "File is not a MEX file" on Arch Linux
1 view (last 30 days)
Show older comments
Hello!
I am trying to build a MEX file form a cpp code, but I always get the error "file.mexa64 is not a MEX file". This happens also with any c file (I tried with the timestwo.c example).
The only related information on the helper is about MEX Platform Compatibility, but the extension mexa64 is the correct one for my os.
I am running Matlab r2020a on Manjaro OS (Arch Linux) and using the gcc compiler (g++ for cpp), version 10.2.0 - might be this the problem? I read that the supported compiler is gcc 6.3.x but I couldn't retrieve that (super old) version so far. Also, I'd prefere not to downgrade to that version.
Any suggestion on how to fix the problem? I have no idea.
Thank you!
4 Comments
Arnaud Benjamin
on 19 Nov 2022
Edited: Arnaud Benjamin
on 19 Nov 2022
For me, I had this error message (truncated for clarity) :
/usr/local/MATLAB/R2022b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found
The specified libstdc++.so.6 file is shipped with matlab. What probably happened, is that my OS's gcc (being up-to-date thanks to Arch Linux repos) produced a binary .mexa64 file which requires a more recent version of the standard lib than Matlab comes supplied with.
Simply relinking the above symlink to my system's /lib/libstdc++.so.6 fixed this error. You must also restart Matlab.
Answers (0)
See Also
Categories
Find more on MATLAB Compiler SDK in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!