Back to the main page.

Bug 2598 - Peermaster Mex issue

Status NEW
Reported 2014-06-02 18:03:00 +0200
Modified 2017-05-28 09:23:58 +0200
Product: FieldTrip
Component: peer
Version: unspecified
Hardware: PC
Operating System: Mac OS
Importance: P5 normal
Assigned to: Craig Richter
Depends on:
See also:

Craig Richter - 2014-06-02 18:03:37 +0200

Peerslave fails to launch on OS X with the following error. >> peermaster Invalid MEX-file '/Volumes/ALPHA_MOD/EGG_HRV/software/fieldtrip/peer/private/peer.mexmaci64': dlopen(/Volumes/ALPHA_MOD/EGG_HRV/software/fieldtrip/peer/private/peer.mexmaci64, 6): Symbol not found: _mxDeserialize Referenced from: /Volumes/ALPHA_MOD/EGG_HRV/software/fieldtrip/peer/private/peer.mexmaci64 Expected in: /Applications/ in /Volumes/ALPHA_MOD/EGG_HRV/software/fieldtrip/peer/private/peer.mexmaci64 Error in peermaster (line 94) peer('status', 1);

Robert Oostenveld - 2014-06-03 09:25:11 +0200

this is due to mxSerialize/mxDeserialize not being available for 2014a. See bug 2452. All mex files that call these low-level functions need to be recompiled on 2014a. The consequence is also that different mex files are needed for matlab <= 2013b and >= 2014a on the same computer. I suggest you look into the solution used in 2452 and coy that into the peer mex file.

Roemer van der Meij - 2015-11-10 23:46:00 +0100

Hi Robert, I get the same error, using R2015a (OS X 10.11) and any of the peer functions. I've read through bug 2452 which tells me the error shouldn't occur anymore. I've tried placing all mxDeserialize files (in trunk/private) into trunk/peer/private, but peer doesn't seem to use them? The function msSerialize is present and works fine. When I go to trunk/private, and run mxDeserialize however, I get: >> mxDeserialize('hmmm') Error using mxDeserialize_cpp Bad version or endian-key Error in mxDeserialize (line 35) argout = mxDeserialize_cpp(argin); If there's anything I can do, I'd be happy too

Craig Richter - 2017-05-28 09:23:58 +0200

Previously, I switched to an older version of matlab, but have now returned to this issue. It seems that the code of peer.c needs to be changed such that the cpp files for Mx[De]Serialize are called in the cpp fashion. It may be that peer.c needs to be updated to cpp, but I'm really not sure, as my capacities here are limited. I was wondering if anybody has found a fix.