cvx_setup reports missing MEX files

Trying to install CVX on a Linux 64 bit machine. Grabbed the file cvx-a64.tar.gz from the download section, extracted to an empty dir and ran cvx_setup from a Matlab2013a (64-bit) console. It reports:

CVX, version 2.0 (beta) © 2012, CVX Research, Inc.
Software for Disciplined Convex Programming

Version info:
Code: build 1023, 2013-12-03 11:04:38
Documentation: build 994, 2013-07-24 10:54:53
Installation info:
Path: /home/stav/Dev/alglib/cvx
MATLAB version: 8.1 (R2013a)
OS: Linux amd64 version 2.6.18-128.1.1.el5
Java version: 1.6.0_17
Verfying CVX directory contents:
No missing files.
ERROR: one or more MEX files for this platform are missing.
These files end in the suffix “.mexa64”. CVX will not operate
without these files. Please visit
And download a distribution targeted for your platform.
License host:
Username: stav
Host ID: 00215ad4f5dc (eth0)
Installed license:
No license installed.
Other license found:
File: ~/Dev/alglib/cvx/cvx_license.dat
Organization: Weizmann Institute of Science
Contact: Stav Yagev (
License type: academic
Named user: Stav
Host ID: 3c970e3af665
Expiration: 2014-07-12 (208 days remaining)
Status: invalid:hostid
No valid licenses found.

The installation of CVX was not completed. Please correct the error
and re-run CVX_SETUP.

Here is the output of ‘ver’ from MATLAB (excluding toolbox info):

MATLAB Version: (R2013a)
MATLAB License Number: 671014
Operating System: Linux 2.6.18-128.1.1.el5 #1 SMP Wed Mar 25 18:14:28 EDT 2009 x86_64
Java Version: Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot™ 64-Bit Server VM mixed mode

The mexa64 files are actually there in the directory!!
What am I doing wrong?

This error message occurs if one of the following files is missing:


They must be in that exact location; otherwise, you’ll get an error. Feel free to set a breakpoint at line 186 of cvx_version.m and see if something else is tripping CVX up, but truthfully, it’s a straightforward check of existence. I’m going to guess that the archive was truncated on download somehow, and that downloading and reinstalling will help.

The problem was that I added CVX’s installation directory to the path using addpath and then called cvx_setup (when the current directory is some random directory) instead of physically changing into the installation directory and running cvx_setup from there (like the installation manual clearly states).

I found this out only using @mcg’s helpful answer which suggested debugging cvx_version. I added my own answer so to describe the resolution to my specific problem although I encourage following @mcg’s method as it may reveal other problems.

Looks like I need to figure out how to be more explicit with my setup instructions, or figure out a way to work around this common installation mistake!

I have exactly the same issue as Stav, but I don’t understand how to solve it.

Can I remove the path to cvx ? (I run the command “add_path”). I have reinstalled Octave hoping reset all its paths, I have removed the directory that contained cvx and downloaded a new one, but I have always the same error.

Could you help me ? I don’t understand what to do with “cvx_version.m”.


Octave is a completely different matter: you have to compile all of the MEX files yourself. I’ve got a cvx_compile script on the GitHub repo for CVX 3.0, but I can’t support it. Until Octave makes it more feasible for us to reliably distribute binary versions of the Mex files I just can’t support Octave.