If I compile and then run the code in R2023b (ie native silicon version), it compiles without the warning about deprecation and the code does not fail with the same error (I'm debugging something, so it does give an error, but now where I am debugging rather than with the MEX-file). Could it be that the mex in R2022b is compiling for arm64 architecture and it would need to be compiled for X86_64?
Invalid MEX-file on Macbook Pro, c++ code has been used on other computers
11 views (last 30 days)
Show older comments
Hi.
I'm trying to compile a c++ function that I have used before (but I have run a system update since then).
It appears to compile, even though there is a deprecation warning:
>> mex Cbetabinornd.cpp
Building with 'Xcode Clang++'.
ld: warning: -undefined error is deprecated
ld: warning: -undefined error is deprecated
ld: warning: -undefined error is deprecated
ld: warning: -undefined error is deprecated
MEX completed successfully
.
But when I run the code that uses the function, I get:
Invalid MEX-file '/Users/lfslbx/nas/projects/transmission-code-dev/Cbetabinornd.mexmaci64':
dlopen(/Users/lfslbx/nas/projects/transmission-code-dev/Cbetabinornd.mexmaci64, 0x0006): Library not loaded:
@rpath/libMatlabEngine.dylib
Referenced from: <BD86438D-65C9-399D-8171-310DFAEC7570>
/Users/lfslbx/nas/projects/transmission-code-dev/Cbetabinornd.mexmaci64
Reason: tried: '/Applications/MATLAB_R2022b.app/bin/maci64/libMatlabEngine.dylib' (no such file),
'/Applications/MATLAB_R2022b.app/bin/maci64/./libMatlabEngine.dylib' (no such file),
'/Applications/MATLAB_R2022b.app/bin/maci64/../../sys/os/maci64/libMatlabEngine.dylib' (no such file),
'/Applications/MATLAB_R2022b.app/Contents/MacOS/libMatlabEngine.dylib' (no such file),
'/Applications/MATLAB_R2022b.app/Contents/MacOS/./libMatlabEngine.dylib' (no such file),
'/Applications/MATLAB_R2022b.app/Contents/MacOS/../../standalone/bin/maci64/libMatlabEngine.dylib' (no
such file), '/Applications/MATLAB_R2022b.app/Contents/MacOS/../../sys/os/maci64/libMatlabEngine.dylib' (no
such file), '/Applications/MATLAB_R2022b.app/bin/maci64/libMatlabEngine.dylib' (no such file)
Error in Projection (line 111)
ActiveS = Cbetabinornd(repmat(Data.PeopleScreened, samples, 1), repmat((Agg.ActiveMS' + Agg.ActiveM1' + Agg.ActiveM2' + Agg.ActiveMFP') ./ ScaledPeopleScreened0, samples, 1), repmat(Disp_act, samples, 1)); % M9
I'm running MATLAB R2022b on a Macbook Pro (M2 Pro chip) with MacOS 14.4.1 and Apple clang version 15.0.0 (clang-1500.3.9.4).
Any suggestions, please?
Thanks,
Ron Crump
Accepted Answer
Pratyush Swain
on 18 Apr 2024
Edited: Pratyush Swain
on 18 Apr 2024
Hi Ron,
This issue you are facing might be due to the fact MATLAB system requirements started supporting macOS Sonoma (14) from R2023b as per https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/support/sysreq/files/system-requirements-release-2023b-macintosh.pdf
Also you can check from this file that macOS version 14 is not supported in R2022b: https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/support/sysreq/files/system-requirements-release-2022b-macintosh.pdf
For checking system requirements in general for any release vs OS version support, you can refer to https://www.mathworks.com/support/requirements/previous-releases.html
Hope this helps.
0 Comments
More Answers (0)
See Also
Categories
Find more on MATLAB Compiler in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!