Mex -largeArrayDims in Linux

4 views (last 30 days)
elham ramin
elham ramin on 11 Oct 2019
Commented: elham ramin on 28 Oct 2019
Hi,
I would like to run my matlab code on Linux.
I would need to reformulate this line:
lapacklib = fullfile(matlabroot, ...
'extern', 'lib', 'win64', 'microsoft', 'libmwlapack.lib');
mex('-v', '-g', '-largeArrayDims-largeArrayDims', 'PCM_speciation1_DAE.c', lapacklib);
I hve tried this formulation: mex -largeArrayDims PCM_speciation1_DAE.c
But I get this error: Error using mex
/var/tmp/pbs.14518.hnode4/mex_5537398213038998_2534/PCM_speciation1_DAE.o: In function `MatDiv':
PCM_speciation1_DAE.c:(.text+0x665b): undefined reference to `dgesv_'
collect2: error: ld returned 1 exit status
Thank you in advance for the help.

Accepted Answer

James Tursa
James Tursa on 11 Oct 2019
Edited: James Tursa on 11 Oct 2019
You didn't give it the LAPACK library to link to, so there is no dgesv_ function, hence the error. You need to take this:
lapacklib = fullfile(matlabroot, ...
'extern', 'lib', 'win64', 'microsoft', 'libmwlapack.lib');
and turn it into the location and name for your system (which obviously isn't going to be 'win64'), and feed that into the mex command like it originally was.

More Answers (0)

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!