Mwfeval for Mworks 0.9

Hi Chris,

I have had to recently update the Mworks version in my experiment rig to 0.9, but the computer I am using to convert data into Matlab files cannot run this latest version (my current Mac OS 10.10.3, so it’s incompatible with Mwork 0.9). When I run the code I normally run to convert Mworks file to a Matlab file (using getCodecs, etc.) I now get an error saying:
**
Error using mwfeval
Cannot open file
“/Volumes/hansem/Documents/MWorks/Data/H_20190703_RSGadapt.mwk2/H_20190703_RSGadapt.mwk2”

Error in getEvents>@()mworks.mwfeval(mfilename,filename,codes,mintime,maxtime) (line 38)
f = @() mworks.mwfeval(mfilename, filename, codes, mintime, maxtime);

Error in getEvents (line 41)
events = f();

Error in getCodecs (line 6)
for evt = getEvents(filename, 0)
**

I only get this error if I try to convert one of the files from the new Mworks version (.mwk2 files) but not with .mwk files. I’m assuming mwfeval from my current Mworks version (0.6) simply does not support mwk2 files. Is there any workaround this, or do I absolutely need to find a way of installing the Mworks 0.9 on the machine? This would require me changing my entire OS, so if I can avoid it, that’d be great!

Thanks for your help,
Nicolas

Hi Nicolas,

I’m assuming mwfeval from my current Mworks version (0.6) simply does not support mwk2 files.

That is correct.

Is there any workaround this, or do I absolutely need to find a way of installing the Mworks 0.9 on the machine?

You need MWorks 0.9 to read MWK2 files.

Cheers,
Chris

Hi Chris,

Thanks for the fast reply. I have found a machine on which I could install Works 0.9, but now I get the following error while trying to convert MWorks to Matlab:

Error using mworks.mwfeval
Invalid MEX-file ‘/Library/Application Support/MWorks/Scripting/Matlab/+mworks/mwfeval.mexmaci64’: dlopen(/Library/Application Support/MWorks/Scripting/Matlab/+mworks/mwfeval.mexmaci64, 6): Symbol not found: __ZN2mw14DataFileReader12openDataFileERKN12mworks_boost10filesystem4pathE
Referenced from: /Library/Application Support/MWorks/Scripting/Matlab/+mworks/mwfeval.mexmaci64
Expected in: /Library/Frameworks/MWorksCore.framework/Versions/A/MWorksCore
in /Library/Application Support/MWorks/Scripting/Matlab/+mworks/mwfeval.mexmaci64.

Error in getEvents>@()mworks.mwfeval(mfilename,filename,codes,mintime,maxtime) (line 38)
f = @() mworks.mwfeval(mfilename, filename, codes, mintime, maxtime);

Error in getEvents (line 41)
events = f();

Error in getCodecs (line 6)
for evt = getEvents(filename, 0)

Error in convertMWtoMAT_RSG2prior (line 22)
codes = getCodecs(file);

Any idea?

Thanks for your help,
Nicolas

Hi Nicolas,

I’m guessing you copied mwfeval.mexmaci64 from a machine with MWorks 0.9 installed to a machine with a different version of MWorks. You can’t do that. The .mexmaci64 file is linked to the MWorksCore framework. It will only work with the MWorks version it came from.

Chris

Ok thanks, it turns out Matlab was calling mwfeval from the Mworks backup folder following the upgrade.

Best,
Nicolas