Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Beginner
56 Views

Segmentation Fault with DSYEVD

A segmentation fault occurs when I run following simple c code complied by dynamically on using MKL libraries on Linux:

int n=3;
double a[9]={1, 0.2, 0.1,
0.2, 1.1, 0.05,
0.1, 0.05, 0.9};

double eigval[3];

double work[37];
int lwork=37;

int iwork[18];
int liwork=18;

int info=0;

DSYEVD("V","U", &n, a, &n, eigval, work, &lwork, iwork, &liwork, &info);

I am using BLAS functions with dynamic access to libs with no problem, only the LAPACK function does not work. However, the static usage of the code is working properly.

Here is what I get when running valgrind:

==21353== Jump to the invalid address stated on the next line
==21353== at 0x0: ???
==21353== by 0x4209925: mkl_lapack_dsytd2 (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x437C49F: mkl_lapack_xdsytrd (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x40427FFF: ???
==21353== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==21353==
==21353== Process terminating with default action of signal 11 (SIGSEGV)
==21353== Bad permissions for mapped region at address 0x0
==21353== at 0x0: ???
==21353== by 0x4209925: mkl_lapack_dsytd2 (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x437C49F: mkl_lapack_xdsytrd (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x40427FFF: ???
==21353==
0 Kudos
1 Reply
56 Views

It seems to be an issue with loading BLAS function dynamically. What is the link line?

Michael.

0 Kudos