Invalid Mex-files using 2018a Xcode 9.2

Hi,
While trying to run Matlab 2018a code using "BM3D" downloaded from from http://www.cs.tut.fi/~foi/GCF-BM3D/ (the file is http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D.zip I'm getting this errors.
tried almost every solution suggested on Matlab Answers Community with no success.
I'm using Xcode 9.2.
Invalid MEX-file '/Users/ericelharar/Documents/MATLAB/Eric_Pedro/BM3D/bm3d_thr.mexmaci64': dlopen(/Users/ericelharar/Documents/MATLAB/Eric_Pedro/BM3D/bm3d_thr.mexmaci64,
6): Library not loaded: @loader_path/libmat.dylib
Referenced from: /Users/ericelharar/Documents/MATLAB/Eric_Pedro/BM3D/bm3d_thr.mexmaci64
Reason: image not found.
Error in BM3D (line 342)
y_hat = bm3d_thr(z, hadper_trans_single_den, Nstep, N1, N2, lambda_thr2D,...

8 Comments

Hi, I'm having the exact same problem. Did you solve this by any chance? Thanks!
Hi,
By saying "I'm having the exact same problem" do you mean with BM3d?
if so, i wrote to Prof. Foi, who is associate Professor of Signal Processing at Tampere University of Technology, Finland, that developed the BM3D algorithm.
He was kind enough to send me a beta version that solves the problem with detailed instructions.
if you are interested send me an email and i will forward you the instructions and software.
erice@post.bgu.ac.il
Same here..
Does anyone happen to recall the last known good version of Matlab for BM3D? In a little bit of a pinch for getting comparison results done, so could well install an older version just for that.
Jaakko Lehtinen which Mac OS version are you using? I suspect that is more relevant than the MATLAB version for this purpose.
The original poster mentioned XCode 9.2, which is for MacOS 10.12.6+ onward, which is for Sierra; High Sierra needs XCode 9.3 or later.
MacOS Sierra was the release where Apple starting getting serious with System Integrity Protection, which turns off recognition of DYLD_DYNAMIC_PATH in some cases. This wasn't a MATLAB issue; it was an Apple issue. Individual programs could adapt to the Apple restriction, but the most obvious adaptation is to static link libraries instead of using DLL. For third-party packages such as BM3D, that would involve a change to BM3D rather than a change to MATLAB.
Hi I received a beta version for Bm3d which solves this problem If interested I will forward the file with the instructions
hi I meet the same problem, and i use matlab2018a and xcode11.2.1 macos 10.14.6.
i did not find the function the solve this issue.
could you send me the beta version for bm3d?
hi please can you send me the beta version for Bm3d if you still have it

Sign in to comment.

Answers (1)

Sierra and High Sierra ignore DYLD_DYNAMIC_PATH in some cases, for security reasons. It is only intended to apply to some executables, but likely it is interfering.
tl;dr -- put copies of the library in /usr/lib

10 Comments

Hi, could you please be more specific about the steps to be done
sudo cp /Applications/MATLAB_R2018a.app//bin/maci64/libmat.dylib /usr/lib
Eric Elharer
Eric Elharer on 29 Mar 2018
Edited: Eric Elharer on 29 Mar 2018
Hi, cp: /usr/lib/libmat.dylib: Operation not permitted I read there is a way to release this lock shell I try thIs before ?
Sorry, I do not know.
Any other idea to solve my problem? If not, thanks for your time and try to help
Hi,
I've followed http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/ and managed to perform your advised solution -
sudo cp /Applications/MATLAB_R2018a.app//bin/maci64/libmat.dylib /usr/lib
now although the error massege starts with invalid mex I file it is a bit different and concludes
Symbole not found
Invalid MEX-file '/Users/ericelharar/Documents/MATLAB/Eric_Pedro/BM3D/bm3d_thr.mexmaci64': dlopen(/Users/ericelharar/Documents/MATLAB/Eric_Pedro/BM3D/bm3d_thr.mexmaci64,
6): *Symbol not found*: _mxCreateNumericArray_700
Referenced from: /Users/ericelharar/Documents/MATLAB/Eric_Pedro/BM3D/bm3d_thr.mexmaci64
Expected in: /usr/lib/libSystem.B.dylib
in /Users/ericelharar/Documents/MATLAB/Eric_Pedro/BM3D/bm3d_thr.mexmaci64.
Error in BM3D (line 342)
y_hat = bm3d_thr(z, hadper_trans_single_den, Nstep, N1, N2, lambda_thr2D,...
Error in Poisson_denoising_Anscombe_exact_unbiased_inverse_fastprof (line 39)
[dummy D]=BM3D(1,transformed,transformed_sigma*255,'lc'); % denoise assuming additive white Gaussian noise
Error in ReconsCarSignalHospB3DMCompToNLSPCAP4IPOnEIsNoiseElectrons (line 142)
[y_hat, PSNR_y_hat, NMISE_y_hat] = Poisson_denoising_Anscombe_exact_unbiased_inverse_fastprof(ImageA,ImageB); %%B3DM and Anscombe transform
I am facing the exact same issue - please let me know when you get it to work! Thanks a lot.
stuck at the same error on MacOS, any updates on this?
Hi Send me a gmail address mail and I'll share with u a folder with all the information and software updates that helped me Hope it would work for u 2 Elharar.eric@gmail.com

Sign in to comment.

Categories

Tags

Asked:

on 28 Mar 2018

Community Treasure Hunt

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

Start Hunting!