Whamcloud - gitweb
LU-3137 kerberos: GSSAPI broken due to library confusion
authorAndrew Korty <ajk@iu.edu>
Tue, 9 Apr 2013 13:54:26 +0000 (09:54 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 12 Apr 2013 05:31:25 +0000 (01:31 -0400)
libgssglue has replaced libgssapi on some platforms, including RHEL
6.4, producing the compile-time errors

lsvcgssd-context_lucid.o: In function `serialize_krb5_ctx':
/home/ajk/lustre-master/lustre/utils/gss/context_lucid.c:598:
undefined reference to `gss_export_lucid_sec_context'
/home/ajk/lustre-master/lustre/utils/gss/context_lucid.c:634:
undefined reference to `gss_free_lucid_sec_context'

Having Autoconf look for gss_free_lucid_sec_context() instead of
gss_init_sec_context() finds the correct library.

Signed-off-by: Andrew Korty <ajk@iu.edu>
Change-Id: I1362682a5a2cc78b176ad0b4f9181db335084cd4
Reviewed-on: http://review.whamcloud.com/5991
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John Hammond <johnlockwoodhammond@gmail.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/autoconf/lustre-core.m4

index 601155c..40c4680 100644 (file)
@@ -439,9 +439,9 @@ AC_DEFUN([LC_CONFIG_GSS],
         LB_LINUX_CONFIG_IM([CRYPTO_SHA512],[],
                            [AC_MSG_WARN([kernel SHA512 support is recommended by using GSS.])])
 
-        AC_CHECK_LIB([gssapi], [gss_init_sec_context],
+        AC_CHECK_LIB([gssapi], [gss_export_lucid_sec_context],
                      [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi"],
-                     [AC_CHECK_LIB([gssglue], [gss_init_sec_context],
+                     [AC_CHECK_LIB([gssglue], [gss_export_lucid_sec_context],
                                    [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssglue"],
                                    [AC_MSG_ERROR([libgssapi or libgssglue is not found, which is required by GSS.])])],)