databases/evolution-data-server build fails on FreeBSD 10 with new Heimdal

Don Lewis truckman at
Thu May 17 01:42:56 UTC 2012

>Submitter-Id:	current-users
>Originator:	Don Lewis
>Organization:	FreeBSD project
>Confidential:	no
>Synopsis:	databases/evolution-data-server build fails on FreeBSD 10 with new Heimdal
>Severity:	serious
>Priority:	medium
>Category:	ports
>Class:		sw-bug
>Release:	FreeBSD 10.0-CURRENT i386
System: FreeBSD 10.0-CURRENT FreeBSD 10.0-CURRENT #6: Tue May 15 14:19:58 PDT 2012 dl at SMB i386


The databases/evolution-data-server port fails to build on FreeBSD 10 since
Heimdel was upgraded to 1.5.1.

  CC     libcamel_provider_1_2_la-camel-sasl-gssapi.lo
In file included from camel-sasl-gssapi.c:51:
/usr/include/gssapi.h:3:2: warning: #warning "this file includes <gssapi.h> which is deprecated, use <gssapi/gssapi.h> instead"
camel-sasl-gssapi.c: In function 'gssapi_set_exception':
camel-sasl-gssapi.c:157: error: implicit declaration of function 'error_message'
camel-sasl-gssapi.c:157: warning: nested extern declaration of 'error_message'
camel-sasl-gssapi.c:157: warning: assignment makes pointer from integer without a cast
gmake[4]: *** [libcamel_provider_1_2_la-camel-sasl-gssapi.lo] Error 1
gmake[4]: Leaving directory `/usr/ports/databases/evolution-data-server/work/evolution-data-server-2.32.1/camel'

The problem is that <com_err.h>, which declares error_message(), is not being
included.  The reason for that problem is that the port's configure test
for this header is failing because <com_err.h> includes <com_right.h>, which
uses size_t in the function prototype for com_right_r(), but size_t has not
been declared because the compile test for this header doesn't include

The com_err(3) man page imported with the new Heimdel distribution says
that the proper list of includes is:

     #include <stdio.h>
     #include <stdarg.h>
     #include <krb5/com_err.h>

though com_err.h is still being installed directly under /usr/include in
FreeBSD 10.  It appears that this relies on <stdio.h> defining size_t.


Attempt to build the port on a recent version of FreeBSD 10.


The configure script should probably be enhanced to handle the new Heimdel
version, but that is probably best handled upstream.  The following patch
uses config.cache to bypass the test for <com_err.h> and just force it
to be included.

Index: Makefile
RCS file: /home/ncvs/ports/databases/evolution-data-server/Makefile,v
retrieving revision 1.84
diff -u -u -r1.84 Makefile
--- Makefile	23 Sep 2011 22:21:32 -0000	1.84
+++ Makefile	17 May 2012 01:14:45 -0000
@@ -38,7 +38,8 @@
 CONFIGURE_ARGS=	--enable-static \
 		--enable-gnome-keyring=yes \
 		--with-openldap=yes \
-		--with-libdb=${LOCALBASE}
+		--with-libdb=${LOCALBASE} \
+		-C
--- /dev/null	2012-05-16 18:35:04.000000000 -0700
+++ files/patch-config.cache	2012-05-16 18:14:18.000000000 -0700
@@ -0,0 +1,4 @@
+--- /dev/null	2012-05-16 18:11:00.000000000 -0700
++++ config.cache	2012-05-16 18:13:49.000000000 -0700
+@@ -0,0 +1 @@

More information about the freebsd-gnome mailing list