Why report “/usr/local/lib/MatLabLib/mymatlab.dylib: no suitable image found. Did find: /usr/local/lib/MatLabLib/mymatlab.dylib: open() failed with errno=13”?
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Xiao Browley
el 13 de Ag. de 2021
Comentada: Walter Roberson
el 23 de Oct. de 2025 a las 6:14
I build one Matlab script to mymatlab.dylib, but as I invoke it, it reported:
/usr/local/lib/MatLabLib/mymatlab.dylib: no suitable image found. Did find: /usr/local/lib/MatLabLib/mymatlab.dylib: open() failed with errno=13”
/usr/local/lib/MatLabLib/mymatlab.dylib: stat() failed with errno=22
I'm using MATLAB_R2019a, what does these errorno (13 / 22) mean?
0 comentarios
Respuestas (3)
Walter Roberson
el 14 de Ag. de 2021
Error 13 means "permission denied".
This error is not given for the case where a file is not found. The error is given if a file is found but the user does not have authorization to use it, or if there is a directory in the path to the file that the user does not have authorization to examine (no directory x permission for the user). When the user does not have x permission all the way to the file then permission denied can occur even if the file does not exist.
Error 22 means "invalid argument"
Did find: /usr/local/lib/MatLabLib/mymatlab.dylib: open() failed with errno=13”
That part tells us that you do have x permission on all the appropriate directories, but that you do not have read permission on mymatlib.dylib .
It is possible that /usr/local/lib/MatLabLib/mymatlab.dylib exists as a symbolic link to a file (possibly in a different directory) that you do not have read access to. You should use
!ls -ld /usr/local/lib/MatLabLib/mymatlab.dylib
to see what you can find out about the file.
The Error 22 is probably a consequence of not being able to read the dylib file.
0 comentarios
Yongjian Feng
el 13 de Ag. de 2021
So you are doing this on Mac, right? Did you try to use the env var LD_LIBRARY_PATH to point to your dylib?
Use this from a terminal can tell you if you dylib has more dependencies.
otool -L
3 comentarios
Yongjian Feng
el 13 de Ag. de 2021
It is most likely related to LD_LIBRARY_PATH.
On your own Mac, use 'otool -L' to figure out its dependencies. It shall be the same in the other Mac.
- Make sure all the dependencies on your Mac have been installed properly on the other Mac.
- Use LD_LIBRARY_PATH on the other Mac to point to your dylib and all the dependencies you figured out in step 1.
S
el 23 de Oct. de 2025 a las 4:50
kd=300;
c=pid(kd);
T=feedback(c*p,1)
t=0:01:2
step(T,t)
1 comentario
Walter Roberson
el 23 de Oct. de 2025 a las 6:14
Please explain in more detail how this answer solves the problem of errno 13 or errno 22 ?
Ver también
Categorías
Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!