GNOME Bugzilla – Bug 615290
Fails to build with Heimdal Kerberos
Last modified: 2010-04-12 21:00:40 UTC
Created attachment 158292 [details] [review] patch to fix compilation against heimdal Originally reported in Gentoo bugzilla : http://bugs.gentoo.org/show_bug.cgi?id=314135 When using heimdal for kerberos support, evolution-data-server-2.30.0 fails to compile: ./configure --with-krb5=/usr make [...] CC libcamel_provider_1_2_la-camel-sasl-gssapi.lo camel-sasl-gssapi.c:34:23: error: krb5/krb5.h: No such file or directory camel-sasl-gssapi.c: In function ‘gssapi_challenge’: camel-sasl-gssapi.c:340: error: ‘KRB5KRB_AP_ERR_TKT_EXPIRED’ undeclared (first use in this function) camel-sasl-gssapi.c:340: error: (Each undeclared identifier is reported only once camel-sasl-gssapi.c:340: error: for each function it appears in.) camel-sasl-gssapi.c:341: error: ‘KRB5KDC_ERR_NEVER_VALID’ undeclared (first use in this function) make[4]: *** [libcamel_provider_1_2_la-camel-sasl-gssapi.lo] Error 1 This is a regression; evolution-data-server-2.28.x compiled successfully. The error occurs because heimdal installs its krb5.h header in /usr/include/krb5.h (as opposed to mit-krb5, which uses /usr/include/krb5/krb5.h). Note that earlier versions of evolution-data-server also included <krb5/krb5.h> but compiled successfully with heimdal since they apparenly did not actually use anything from that header :) The solution is to include <krb5.h> instead of <krb5/krb5.h> when HAVE_HEIMDAL_KRB5 is defined; see attached patch.
Patch accepted. It's frustrating to have to continue to deal with idiotic issues like this from libraries that _still_ don't ship a pkgconfig file.
Patch committed to master and gnome-2-30 branches: http://git.gnome.org/browse/evolution-data-server/commit/?id=1eea6a72b22f4ddf2626b5448db608f6b0847b98 http://git.gnome.org/browse/evolution-data-server/commit/?h=gnome-2-30&id=15ec4300b7ca49bf6f6363c61d666830de43fdcb