Cvx_setup error


#1

Something went wrong with MATLAB R2016a on my desktop.
I was trying to reinstall CVX after reinstalling MATLAB.
But it shows error information as follows,

run(‘R:\Program Files\MATLAB\cvx\cvx_setup.m’)
UNEXPECTED ERROR: -------------------------
Error using usejava (line 43)
Too many input arguments.
Error in cvx_version (line 96)
if isoctave || ~usejava(‘jvm’),
Error in cvx_setup (line 20)
cvx_version( ‘-install’, varargin{:} );
Error in run (line 96)
evalin(‘caller’, [script ‘;’]);
-------------------------------------------
Please report this error to support, and include entire output of
CVX_SETUP in your support request.


Could you please help me finger out what is goging on and how can I fix it?
Thanks in advance.


(Ilya Roublev) #2

It seems to me this problem is closely related to MATLAB nargchk deprecated. The reason is that there is a file narginchk.m in lib\narginchk_ in CVX defining the respective function that duplicates a built-in one within Matlab. If you include this narginchk.m from CVX in your paths, it shadows the built-one Matlab function with the same name. And the problems occurs when Matlab starts because its initialization narginchk is used and in this case CVX narginchk is called instead of the built-in one. And this leads somehow to improper functioning of Java after this.

My advice is to remove the whole subfolder narginchk_ from lib folder. Or at least to follow this http://ask.cvxr.com/t/matlab-nargchk-deprecated/3380/15. I do not understand why it was necessary to duplicate this built-one function. It is not safe at all…