I have a problem using CVX after I update my Mac OS to Catalina

I have been using the CVX toolbox for 2 years on my mac. However, after updating my mac OS to Catalina I am getting malware error when I try to run CVX.


CVX: Software for Disciplined Convex Programming ©2014 CVX Research
Version 2.1, Build 1127 (95903bf) Sat Dec 15 18:52:07 2018

Installation info:
Path: /Users/zeynab/Documents/MATLAB/cvx
MATLAB version: 9.3 (R2017b)
OS: Mac OS X x86_64 version 10.15.1
Java version: 1.8.0_121
Verfying CVX directory contents:
No missing files.
Preferences:
Path: /Users/zeynab/Library/Application Support/MathWorks/MATLAB/cvx_prefs.mat
License host:
Username: zeynab
Host ID: 98fe944b5eec (en0,192.168.1.104)
Installed license:
No license installed.
No valid licenses found.
Click here to fill out an academic license request
for the username and first hostid listed above.

Setting CVX paths…done.
Saving updated path…done.
Searching for solvers…5 shims found.
2 solvers initialized (* = default):

  • SDPT3 4.0 {cvx}/sdpt3
    SeDuMi 1.34 {cvx}/sedumi
    3 solvers skipped:
    GLPK
    Could not find a GLPK installation.
    Gurobi unknown {cvx}/gurobi/maci64
    Undefined function ‘my_get_report’ for input arguments of type
    ‘MException’.
    Mosek unknown {cvx}/mosek/maci64
    Unexpected MEX file failure:
    Invalid MEX-file
    ‘/Users/zeynab/Documents/MATLAB/cvx/mosek/maci64/mosekopt.mexmaci64’:
    dlopen(/Users/zeynab/Documents/MATLAB/cvx/mosek/maci64/mosekopt.mexmaci64,
    6): no suitable image found. Did find:
    /Users/zeynab/Documents/MATLAB/cvx/mosek/maci64/mosekopt.mexmaci64:
    code signature in
    (/Users/zeynab/Documents/MATLAB/cvx/mosek/maci64/mosekopt.mexmaci64)
    not valid for use in process using Library Validation:
    library load disallowed by system policy.
    Saving updated preferences…done.
    Testing with a simple model…
    UNEXPECTED ERROR: ------------------------------------------------------------
    Invalid MEX-file
    ‘/Users/zeynab/Documents/MATLAB/cvx/lib/cvx_bcompress_mex.mexmaci64’:
    dlopen(/Users/zeynab/Documents/MATLAB/cvx/lib/cvx_bcompress_mex.mexmaci64,
    6): no suitable image found. Did find:
    /Users/zeynab/Documents/MATLAB/cvx/lib/cvx_bcompress_mex.mexmaci64:
    code signature in
    (/Users/zeynab/Documents/MATLAB/cvx/lib/cvx_bcompress_mex.mexmaci64)
    not valid for use in process using Library Validation: library
    load disallowed by system policy.
    Error in cvx_bcompress (line 29)
    [ ndxs, scls ] = cvx_bcompress_mex( sparse( x ), mode, num_sorted
    );
    Error in cvx/bcompress (line 21)
    [ xR, xb ] = cvx_bcompress( xb, mode, nsrt );
    Error in cvx/svec (line 13)
    [ xR, y ] = bcompress( x );
    Error in cvx/norm (line 46)
    x = svec( x, p );
    Error in cvx_setup (line 212)
    minimize( norm(A*x-b,1) );

Please report this error to support, and include entire output of
CVX_SETUP in your support request.

Catalina’s new security feature. I think this thread

contains an answer by @HMaths with a solution.

after following the steps I could install standard solvers. However, I get this warning
“libcilkrts.5.dylib” is damaged and can’t be opened. You should move it to the Trash.

and I cannot use Mosek. could anyone help me with that?

Does it really say “is damaged” or something else? Can you paste the full error?

Also: here are some much easier tricks which got MOSEK to work on macOS 10.15 for us:

Assuming that it isn’t actually damaged (bad download, bad unpack) then the solutions from MOSEK blog I linked should also help.