Hello,
I am using someone else's toolbox in MATLAB, which contains .mexmaci64 files. I downloaded it from the internet on my computer (Mac OS Big Sur, fully updated). When I try to use these files though, I get the following error message (from Finder):
"findwithinMEX.mexmaci64” cannot be opened because it is from an unidentified developer." macOS cannot verify that this app is free from malware."
If I go into System Preferences and allow MATLAB too open the file anyways, I get the following error from MATLAB:
Error using open (line 136)
Cannot edit the MEX-file
I think that it's likely that I haven't set up MEX files correctly in MATLAB. But I wanted to see if anyone else has any guidance about how to do so. Thank you.

2 Comments

I have the same problem. The solution below didn't work. Did you find a solution?
Samuel L. Polk
Samuel L. Polk on 25 Feb 2021
Walter's solution worked well for me.

Sign in to comment.

 Accepted Answer

Walter Roberson
Walter Roberson on 5 Dec 2020
Edited: Walter Roberson on 25 Feb 2021

0 votes

You tried to double click the file in Finder to open it.
mex files are not source code. You need special tools to examine their content, such as otool https://www.unix.com/man-page/osx/1/otool/
They are not encrypted or anything like that: they are a structured binary file that contains machine code ready to be loaded into memory and executed by the CPU.
To use them from MATLAB you make sure that the file is along your MATLAB path and then you just call the function, passing appropriate arguments in, just as if it were a MATLAB function

4 Comments

Bill Tubbs
Bill Tubbs on 18 Aug 2021
Edited: Bill Tubbs on 18 Aug 2021
I have the same problem but I did not double-click the MEX file. I am trying to run the original developers example script and the mex file is on the path:
>> help jm_fit_mex
jm_fit_mex is a MEX-file.
When I run the example .m file an Mac OS pop-up window appears:
and MATLAB raises this error message when I press the cancel button:
Invalid MEX-file
'/Users/billtubbs/disturb-models/bemporad-2018/jump_models/functions/jm_fit_mex.mexmaci64':
dlopen(/Users/billtubbs/disturb-models/bemporad-2018/jump_models/functions/jm_fit_mex.mexmaci64,
6): no suitable image found. Did find:
/Users/billtubbs/disturb-models/bemporad-2018/jump_models/functions/jm_fit_mex.mexmaci64:
code signature in
(/Users/billtubbs/disturb-models/bemporad-2018/jump_models/functions/jm_fit_mex.mexmaci64)
not valid for use in process using Library Validation: library load disallowed by system
policy
Bill Tubbs
Bill Tubbs on 18 Aug 2021
Edited: Bill Tubbs on 18 Aug 2021
I tried 'move to trash' and this did not solve the problem. Presumably the developer has not provided the source code for this component or it would be automatically re-built?
Bill Tubbs
Bill Tubbs on 18 Aug 2021
Edited: Bill Tubbs on 18 Aug 2021
Okay, with a bit of sleuthing I realised that the developer has provided matlab function scripts for all the mex functions so all I needed to do was go through the code and change the function calls from jm_fit_mex to jm_fit etc. and it runs now (albeit probably slower than with the MEX files).
Still, does anyone know how to 'approve' a MEX file on Mac OS X so that I can take the risk and use it?

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2020b

Community Treasure Hunt

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

Start Hunting!