Inconsistent results from AC_CHECK_FUNCS

I am having a problem with a script configuration that checks for some basic functions,

AC_CHECK_FUNCS([floor gettimeofday memset pow sqrt sin exp])

Under certain criteria, results are expected ( checking for x... yes). Otherwise, it is stated that the above mathematical functions are not defined. The difference is a challenge to check out some routines first. They are verified AC_CHECK_LIB([lapack],[dsyev_],.... If these checks are not performed first, then the above mathematical functions cannot be checked (the final compilation works).

I reduced the script configuration to the next one, which recreates the problem,

AC_INIT([TEST], [0.0], [none@none.com])
#AC_CHECK_LIB([lapack],[dsyev_], , AC_MSG_FAILURE([Missing lapack]))
AC_CHECK_FUNCS([floor gettimeofday memset pow sqrt sin exp])

Uncommenting the second line leads to the correct visual results. I assume the math library is not included or not validated for some reason. Actually, it AC_CHECK_LIB([m],[exp])works great.

What is the reason for this and what is the correct way to use this directive? What kinds of x-platform should I follow?

+3
source share
1 answer

, , , , configure. AC_CHECK_LIB([m],[exp]) - . , AC_CHECK_LIB([lapack],...) , , , , -lm ( , ).

AC_CHECK_LIB AC_SEARCH_LIBS , C.

AC_SEARCH_LIBS(exp, m)
AC_SEARCH_LIBS(dsyev_, lapack)

( AC_CHECK_LIB .)

+2

Source: https://habr.com/ru/post/1786713/


All Articles