Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
6426 Discussions

problem with linking MKL 10.0.5.025 on ubuntu 8.04

michealniu
Beginner
90 Views
I want to develop a program on ubuntu8.04, but when i run ./configure ,the error as follows :

checking for _end in -lmkl_lapack... no
checking for _end in -lmkl_solver... yes
PARDISO sparse solver not available
NO BLAS libraries found - bad for the


the code linking to lmkl_solver is the same as -lmkl_lapack, why?

the configure code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ echo "$as_me:$LINENO: checking for _end in -lmkl_lapack" >&5
echo $ECHO_N "checking for _end in -lmkl_lapack... $ECHO_C" >&6; }
if test "${ac_cv_lib_mkl_lapack__end+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lmkl_lapack $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */

/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char _end ();
int
main ()
{
return _end ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\\"* | *\\`* | *\\\\*) ac_try_echo=\\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \\"\\$as_me:$LINENO: $ac_try_echo\\"") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \\$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
ac_cv_lib_mkl_lapack__end=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

ac_cv_lib_mkl_lapack__end=no
fi

rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \\
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ echo "$as_me:$LINENO: result: $ac_cv_lib_mkl_lapack__end" >&5
echo "${ECHO_T}$ac_cv_lib_mkl_lapack__end" >&6; }
if test $ac_cv_lib_mkl_lapack__end = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBMKL_LAPACK 1
_ACEOF

LIBS="-lmkl_lapack $LIBS"

else
mkl_ok=no
fi

{ echo "$as_me:$LINENO: checking for _end in -lmkl_solver" >&5
echo $ECHO_N "checking for _end in -lmkl_solver... $ECHO_C" >&6; }
if test "${ac_cv_lib_mkl_solver__end+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lmkl_solver $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */

/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char _end ();
int
main ()
{
return _end ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\\"* | *\\`* | *\\\\*) ac_try_echo=\\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \\"\\$as_me:$LINENO: $ac_try_echo\\"") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \\$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
ac_cv_lib_mkl_solver__end=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

ac_cv_lib_mkl_solver__end=no
fi

rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \\
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ echo "$as_me:$LINENO: result: $ac_cv_lib_mkl_solver__end" >&5
echo "${ECHO_T}$ac_cv_lib_mkl_solver__end" >&6; }
if test $ac_cv_lib_mkl_solver__end = yes; then
mkl_solver_ok=yes
fi


if test $mkl_ok = yes; then

cat >>confdefs.h <<\\_ACEOF
#define HAVE_BLAS 1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 Kudos
2 Replies
michealniu
Beginner
90 Views
Thanks forGennady Fedorov's reply,but i could not find your Email.
I download the MKL(non-commercial version) from the follwing link, so i think thelicense for this version is
available,expect from your news~

Todd_R_Intel
Employee
90 Views

I'm not too familiar with configure, and I'm not exactly sure what you're asking with respect to mkl_lapack and mkl_solver. I also don't completely understand your question: "the code linking to lmkl_solver is the same as -lmkl_lapack, why?"

Could you rephrase or expand a little? I'll ask to see if someone here has something to add.

Todd

Reply