MATLAB Answers

0

Error using mex: undefined reference for user build package

Asked by Economist_101 on 15 Jul 2019
Latest activity Edited by Jan
on 17 Jul 2019
Accepted Answer by Jan
I run into the the following issue when I try to compile a user-build mex function :
>> mex kalcvf.c
Building with 'gcc'.
Error using mex
/tmp/mex_40203179616654_15298/kalcvf.o: In function `kalcvf':
kalcvf.c:(.text+0x120): undefined reference to `dcopy_'
(...)
the folder includes several files, such as
dlyap.c
kalcvf.c
kalcvf.def
kalcvf.vcproj
kalcvf.vcxproj
kalcvf.filters
kalcvf.user
matlib.c
matlib.h
and in a parent directory
mex.ncb
mex.sdf
mex.sln
What additional steps do I need to take in order to compile the mex function?

  4 Comments

Show 1 older comment
Jan, many thanks for this.
I indeed did not use those libraries (and did not know I should). Running the code returns the following error
Error using mex
gcc: error: libmwlapack.lib: No such file or directory
gcc: error: libmwblas.lib: No such file or directory
I did not find those files anywhere in my matlab folder, nor online. Where should I look? (I am running Matlab 2019a 64bit on a Linux Ubuntu 18.04).
Any pointer is much appreciated!
mex -v -R2017b yourFcn.c -lmwblas
[MOVED to the section for answers]
Perfect, this did the trick:
mex -v -R2018a kalcvf/kalcvf.c kalcvf/dlyap.c kalcvf/matlib.c -lmwblas -lmwlapack

Sign in to comment.

2 Answers

Answer by Jan
on 17 Jul 2019
 Accepted Answer

mex -v -R2017b yourFcn.c -lmwblas

  0 Comments

Sign in to comment.


Answer by James Tursa
on 16 Jul 2019

Try looking in the MATLAB/R2019a/extern/lib folder for versions of these files appropriate for your system. They might have slightly different names than above, but should have lapack and blas as part of the names.

  0 Comments

Sign in to comment.