After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 615290 - Fails to build with Heimdal Kerberos
Fails to build with Heimdal Kerberos
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: general
2.30.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-04-09 13:33 UTC by Alexandre Rostovtsev
Modified: 2010-04-12 21:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to fix compilation against heimdal (552 bytes, patch)
2010-04-09 13:33 UTC, Alexandre Rostovtsev
accepted-commit_now Details | Review

Description Alexandre Rostovtsev 2010-04-09 13:33:27 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.
Comment 1 Matthew Barnes 2010-04-12 20:26:40 UTC
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.