Greetings, * Tom Lane (t...@sss.pgh.pa.us) wrote: > Stephen Frost <sfr...@snowman.net> writes: > > Pushed, thanks again to everyone. > > I'll monitor the buildfarm and assuming there isn't anything unexpected > > then I'll mark the open item as resolved now. > > The Debian 7 (Wheezy) members of the buildfarm (lapwing, skate, snapper) > are all getting past the gssapi_ext.h check you added and then failing > like this: > > ccache gcc -std=gnu99 -Wall -Wmissing-prototypes -Wpointer-arith > -Wdeclaration-after-statement -Werror=vla -Wendif-labels > -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv > -fexcess-precision=standard -g -O2 -Werror -I../../../src/include > -DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS -D_GNU_SOURCE > -I/usr/include/libxml2 -I/usr/include/et -c -o be-gssapi-common.o > be-gssapi-common.c > be-gssapi-common.c: In function 'pg_store_delegated_credential': > be-gssapi-common.c:110:2: error: unknown type name > 'gss_key_value_element_desc' > be-gssapi-common.c:111:2: error: unknown type name 'gss_key_value_set_desc' > be-gssapi-common.c:113:4: error: request for member 'key' in something not a > structure or union > be-gssapi-common.c:114:4: error: request for member 'value' in something not > a structure or union > be-gssapi-common.c:115:7: error: request for member 'count' in something not > a structure or union > be-gssapi-common.c:116:7: error: request for member 'elements' in something > not a structure or union > be-gssapi-common.c:119:2: error: implicit declaration of function > 'gss_store_cred_into' [-Werror=implicit-function-declaration] > > Debian 7 has been EOL five years or so, so I don't mind saying "get a > newer OS or disable gssapi". However, is it worth adding another > configure check to fail a little faster with whatever Kerberos > version this is? Checking that gss_store_cred_into() exists > seems like the most obvious one of these things to test for.
Sure, I can certainly do that and agreed that it makes sense to check for gss_store_cred_into(). How about the attached which just switches from testing for gss_init_sec_context to testing for gss_store_cred_into? Thanks! Stephen
diff --git a/configure.ac b/configure.ac index c53a9c788e..1362f57a27 100644 --- a/configure.ac +++ b/configure.ac @@ -1340,8 +1340,8 @@ fi if test "$with_gssapi" = yes ; then if test "$PORTNAME" != "win32"; then - AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [], - [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])]) + AC_SEARCH_LIBS(gss_store_cred_into, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [], + [AC_MSG_ERROR([could not find function 'gss_store_cred_into' required for GSSAPI])]) else LIBS="$LIBS -lgssapi32" fi diff --git a/meson.build b/meson.build index 3405cc07ee..f1db5455b0 100644 --- a/meson.build +++ b/meson.build @@ -634,14 +634,14 @@ if not gssapiopt.disabled() endif if not have_gssapi - elif cc.has_function('gss_init_sec_context', dependencies: gssapi, + elif cc.has_function('gss_store_cred_into', dependencies: gssapi, args: test_c_args, include_directories: postgres_inc) cdata.set('ENABLE_GSS', 1) krb_srvtab = 'FILE:/@0@/krb5.keytab)'.format(get_option('sysconfdir')) cdata.set_quoted('PG_KRB_SRVTAB', krb_srvtab) elif gssapiopt.enabled() - error('''could not find function 'gss_init_sec_context' required for GSSAPI''') + error('''could not find function 'gss_store_cred_into' required for GSSAPI''') else have_gssapi = false endif
signature.asc
Description: PGP signature