Closed jxpeng98 closed 1 year ago
I am having this same problem. Were you able to find a solution?
One issue is that you are using R2022a, which will yield an issue, but even when I changed ENV["MATLAB_ROOT"] = /Applications/MATLAB_R2021b.app the error persisted.
Adding to this: On my Windows computer, I had no issues using this package. This is a Mac-only issue.
Another update: It seems this is a more serious issue than expected. On the forum, people believe it is an issue with macOS. It seems that somehow, MATLAB.jl has become incompatible with certain versions of macOS. This is a more serious issue.
Another update: It seems this is a more serious issue than expected. On the forum, people believe it is an issue with macOS. It seems that somehow, MATLAB.jl has become incompatible with certain versions of macOS. This is a more serious issue.
Hi, thanks for your sharing.
Recently, I tested Julia with the new MATLAB R2022b native apple silicon version.
First change the environment with your code ENV["MATLAB_ROOT"] = "/Applications/MATLAB_R2022b_Beta.app"
The output is:
Building MATLAB → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/e263657fe013cb02450c5d4210d2c50a354a5e08/build.log`
ERROR: Error building `MATLAB`:
[ Info: Detected MATLAB root folder at "/Applications/MATLAB_R2022b_Beta.app"
[ Info: Detected MATLAB executable at "/Applications/MATLAB_R2022b_Beta.app/bin/matlab"
ERROR: LoadError: could not load library "/Applications/MATLAB_R2022b_Beta.app/bin/maci64/libmx"
dlopen(/Applications/MATLAB_R2022b_Beta.app/bin/maci64/libmx.dylib, 0x0001): tried: '/Applications/MATLAB_R2022b_Beta.app/bin/maci64/libmx.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Applications/MATLAB_R2022b_Beta.app/bin/maci64/libmx.dylib' (no such file), '/Applications/MATLAB_R2022b_Beta.app/bin/maci64/libmx.dylib' (no such file)
Stacktrace:
[1] dlopen(s::String, flags::UInt32; throw_error::Bool)
@ Base.Libc.Libdl ./libdl.jl:117
[2] dlopen (repeats 2 times)
@ ./libdl.jl:116 [inlined]
[3] dlpath(libname::String)
@ Base.Libc.Libdl ./libdl.jl:240
[4] top-level scope
@ ~/.julia/packages/MATLAB/SVjnA/deps/build.jl:79
[5] include(fname::String)
@ Base.MainInclude ./client.jl:476
[6] top-level scope
@ none:5
From the repo of MATLAB.jl
, they mentioned that
MATLAB versions 2022a/2022b trigger a segfault and no not work with MATLAB.jl. Maintainers are attempting to diagnoise the cause and fix the issue.**
I think the problem is the conflict between MATLAB (Rosetta version) and Julia (Native version). You may solve the problem by installing both MATLAB and Julia under x86 platform via Rosetta. Or maybe wait for the update of the package.
I am getting the same error as @jxpeng98 with prerelease MATLAB R2023b aa64
native and julia 1.9.1
native on macOS 13.4.1
The last line missing from the above output is
in expression starting at /Users/userid/.julia/packages/MATLAB/SVjnA/deps/build.jl:76
I appreciate your hard work in releasing MATLAB.jl
. Let us know how we can help.
This error is because the build.jl
is looking for libmx
at directory maci64
which does not exist in aa64 Macs.
So I replaced deps/build.jl:53
from
Sys.WORD_SIZE == 32 ? "maci" : "maci64"
to
archchar = Sys.ARCH == :aarch64 ? "a" : "i"
Sys.WORD_SIZE == 32 ? "maci" : "mac" * archchar * "64"
Now MATLAB.jl
builds! However
julia> using MATLAB
julia> mat"1 + 1"
env: /Applications/MATLAB_R2023b.app/bin/maci64/path_per_install: No such file or directory
mkdir: /bin/maci64: Operation not permitted
ERROR: MATLAB.MEngineError("failed to open MATLAB engine session")
Stacktrace:
[1] MSession(bufsize::Int64; flags::String)
@ MATLAB ~/projects/MATLAB.jl/src/engine.jl:34
[2] MSession (repeats 2 times)
@ ~/projects/MATLAB.jl/src/engine.jl:22 [inlined]
[3] get_default_msession
@ ~/projects/MATLAB.jl/src/engine.jl:88 [inlined]
[4] eval_string(stmt::String)
@ MATLAB ~/projects/MATLAB.jl/src/engine.jl:147
[5] top-level scope
@ ~/projects/MATLAB.jl/src/matstr.jl:161
I get the same error when starting MATLAB from the terminal command line. Would someone else be able to give it a try and tell me what happens?
The above change fixes it and runs correctly. I have placed a pull request.
The above change fixes it and runs correctly. I have placed a pull request.
Can confirm that this fixes the issue for macos using the latest MATLAB R2023b pre-reslease version (native ARM)!
sorry about the late fix merge. New tag version is in the works
Hi,
Many thanks for this excellent package. I tried to add this pkg and build it, but I failed.
Here is the error report.
The Julia and system details: