What: Update OMPI_CHECK_LUSTRE to link against only -llustreapi. From what I
can tell we do not need to link against -llustre. Also remove
--with-lustre-libs option.
Why: Some platforms do not have liblustre and we shouldn't need to link against
liblustre anyway.
When: I need some feedback from Edgar. Timeout is this Thursday @ 12:00 PM MST
Is there any reason --with-lustre-libs is needed? Is there some configuration
where -llustre is required? Let me know and I can modify the patch.
-Nathan
HPC-3, LANL
Index: config/ompi_check_lustre.m4
===================================================================
--- config/ompi_check_lustre.m4 (revision 28032)
+++ config/ompi_check_lustre.m4 (working copy)
@@ -44,67 +44,24 @@
[Build Lustre support, optionally adding DIR/include, DIR/lib,
and DIR/lib64 to the search path for headers and libraries])])
OMPI_CHECK_WITHDIR([lustre], [$with_lustre],
[include/lustre/liblustreapi.h])
- AC_ARG_WITH([lustre-libs],
- [AC_HELP_STRING([--with-lustre-libs=LIBS],
- [Libraries to link with for lustre])])
-
- temp_with_lustre="$with_lustre"
AS_IF([test -z "$with_lustre"],
- [with_lustre="/usr/"])
+ [ompi_check_lustre_dir="/usr"],
+ [ompi_check_lustre_dir="$with_lustre"])
- temp_with_lustre_libs="$with_lustre_libs"
- AS_IF([test -z "$with_lustre_libs"],
- [with_lustre_libs="lustre lustreapi"])
-
+ if test -e "$ompi_check_lustre_dir/lib64" ; then
+ ompi_check_lustre_libdir="$ompi_check_lustre_dir/lib64"
+ else
+ ompi_check_lustre_libdir="$ompi_check_lustre_dir/lib"
+ fi
+
# Add correct -I and -L flags
- AS_IF([test -d "$with_lustre/include/lustre/"],
- [check_lustre_CPPFLAGS="-I$with_lustre/include/lustre
-I$with_lustre/include"
- $1_CPPFLAGS="$check_lustre_CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $check_lustre_CPPFLAGS"],
- [ompi_check_lustre_happy="no"])
-
- AS_IF([test "$ompi_check_lustre_happy" = "yes"],
- [AS_IF([test -d "$with_lustre/lib64"],
- [check_lustre_LDFLAGS="-L$with_lustre/lib64"
- $1_LDFLAGS="$check_lustre_LDFLAGS"
- LDFLAGS="$LDFLAGS $check_lustre_LDFLAGS"],
- [ompi_check_lustre_happy="no"])
- ],[])
-
- # Try to find all the lustre libraries
- AS_IF([test "$ompi_check_lustre_happy" = "yes"],
- [ AS_IF([test -n "$with_lustre_libs"]
- [for lib in $with_lustre_libs ; do
- check_lustre_LIBS="$check_lustre_LIBS -l$lib"
- done])
-
- $1_LIBS="$check_lustre_LIBS"
- LIBS="$LIBS $check_lustre_LIBS"
+ OMPI_CHECK_PACKAGE([$1], [lustre/liblustreapi.h], [lustreapi],
[llapi_file_create], [],
+ [$ompi_check_lustre_dir], [$ompi_check_lustre_libdir],
[ompi_check_lustre_happy="yes"],
+ [ompi_check_lustre_happy="no"])
- # check for lustre
- AC_CHECK_HEADERS([liblustreapi.h],
- [AC_MSG_CHECKING([if possible to link LUSTRE])
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[#include <stdio.h>
- #include <liblustreapi.h>]],
- [[llapi_file_create(NULL,0,-1,0, 0);]])],
- [AC_MSG_RESULT([yes])
- ompi_check_lustre_happy="yes"],
- [AC_MSG_RESULT([no])
- ompi_check_lustre_happy="no"])],
- [ompi_check_lustre_happy="no"])
- ])
-
- LDFLAGS="$check_lustre_save_LDFLAGS"
- CPPFLAGS="$check_lustre_save_CPPFLAGS"
- LIBS="$check_lustre_save_LIBS"
-
AS_IF([test "$ompi_check_lustre_happy" = "yes"],
[$2],
[AS_IF([test ! -z "$with_lustre" -a "$with_lustre" != "no"],
[echo LUSTRE support not found])
$3])
-
- with_lustre="$temp_with_lustre"
- with_lustre_libs="$temp_with_lustre_libs"
])