MATLAB Answers

mex failure when compiling Mutual Information computation by Hanchuan Peng

3 views (last 30 days)
Edward
Edward on 5 Oct 2012
Hanchuan Peng's package includes "makeosmex.m" to create mex files. When I run makeosmex.m on my RHE Linux machine, I get the error "mex: link of ' "estcondentropy.mexa64"' failed."
When I run "mexext", I get "mexglx", "computer('arch')" returns "glnx86".
What do I have to do to compile the mex files?
I'm running MATLAB 7.7.0.471 (R2008b) on 64bit RHE 5.8 (Tikanga).
[Additional information from duplicate question]
I'm running 32 bit MATLAB 7.7.0.471 (R2008b) on a 64 bit RHE 5.8 (Tikanga) machine. When I try to execute Hanchuan Peng's package includes "makeosmex.m" to create mex files, I get the error "mex: link of ' "*.mexa64"' failed." (Where * indicates the particular mex file being created.)
When I run "mexext", I get "mexglx", "computer('arch')" returns "glnx86".
The mex.m file shows that the command line option '-<arch>' should force mex to build an output file for architecture arch. However, after editing the mex call to 'mex('-glnx86', list(i).name)', I still get the same error message. What do I have to do to get mex configured to generate glnx86 files?

  1 Comment

Edward
Edward on 5 Oct 2012
I'm a student, using the student version, which only comes in 32 bit. Switching to the 32 bit version is well outside my budget. How do I configure mex to function as needed?

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 5 Oct 2012
Edited: Walter Roberson on 5 Oct 2012
glnx86 indicates that you are running a 32 bit version of MATLAB; you might want to change to the 64 bit version of MATLAB.
... If you are using the 64 bit version of MATLAB, your path is wrong, picking up old files.
which -all mexext

  1 Comment

Edward
Edward on 5 Oct 2012
I'm a student, using the student version, which only comes in 32 bit. Switching to the 32 bit version is well outside my budget. How do I configure mex to function as needed?

Sign in to comment.

Sign in to answer this question.