@@ -81,6 +81,8 @@ AC_PROG_CC
dnl Checks for libraries
AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
AC_MSG_ERROR([ibv_get_device_list() not found. libhfi1verbs requires libibverbs.]))
+AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. libhfi1verbs requires libpthread.]))
dnl Checks for header files.
AC_CHECK_HEADER(infiniband/driver.h, [],
@@ -23,6 +23,8 @@ then
AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
AC_MSG_ERROR([ibv_get_device_list() not found. libi40iw requires libibverbs.]))
fi
+AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. libi40iw requires libpthread.]))
dnl Checks for header files.
AC_CHECK_HEADERS(sysfs/libsysfs.h)
@@ -81,6 +81,8 @@ AC_CHECK_SIZEOF(long)
dnl Checks for library functions
AC_CHECK_FUNCS(ibv_read_sysfs_file ibv_dontfork_range ibv_dofork_range \
ibv_register_driver)
+AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. libipathverbs requires libpthread.]))
dnl Now check if for libibverbs 1.0 vs 1.1
dummy=if$$
@@ -30,6 +30,8 @@ AC_PROG_CC
dnl Checks for libraries
AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
AC_MSG_ERROR([ibv_get_device_list() not found. libmthca requires libibverbs.]))
+AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. libmthca requires libpthread.]))
dnl Checks for header files.
AC_CHECK_HEADER(infiniband/driver.h, [],
@@ -23,6 +23,8 @@ then
AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
AC_MSG_ERROR([ibv_get_device_list() not found. libnes requires libibverbs.]))
fi
+AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. libnes requires libpthread.]))
dnl Checks for header files.
AC_CHECK_HEADERS(sysfs/libsysfs.h)
@@ -24,6 +24,8 @@ then
AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
AC_MSG_ERROR([ibv_get_device_list() not found. libocrdma requires libibverbs.]))
fi
+AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. libocrdma requires libpthread.]))
dnl Checks for header files.
AC_CHECK_HEADERS(sysfs/libsysfs.h)
@@ -36,6 +36,8 @@ if test x$enable_repackage = x || test x$enable_repackage = xno; then
AC_MSG_ERROR([<infiniband/driver.h> not found. librxe requires libibverbs.]))
AC_CHECK_FUNCS(ibv_read_sysfs_file ibv_dontfork_range ibv_dofork_range \
ibv_register_driver)
+ AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+ AC_MSG_ERROR([pthread_mutex_init() not found. librxe requires libpthread.]))
dummy=if$$
cat <<IBV_VERSION > $dummy.c
It is a mistake to not explicitly link to the libraries required. Not linking causes the symbols to drop the symbol version which could cause runtime problems down the road if pthreads ever goes through another symbol version change. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> --- libhfi1verbs/configure.in | 2 ++ libi40iw/configure.ac | 2 ++ libipathverbs/configure.in | 2 ++ libmthca/configure.in | 2 ++ libnes/configure.in | 2 ++ libocrdma/configure.in | 2 ++ librxe/configure.in | 2 ++ 7 files changed, 14 insertions(+)