ports/167989: databases/evolution-data-server build fails on FreeBSD 10 with new Heimdal
Don Lewis
truckman at FreeBSD.org
Thu May 17 01:50:13 UTC 2012
>Number: 167989
>Category: ports
>Synopsis: databases/evolution-data-server build fails on FreeBSD 10 with new Heimdal
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu May 17 01:50:02 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Don Lewis
>Release: FreeBSD 10.0-CURRENT i386
>Organization:
FreeBSD project
>Environment:
System: FreeBSD scratch.catspoiler.org 10.0-CURRENT FreeBSD 10.0-CURRENT #6: Tue May 15 14:19:58 PDT 2012 dl at scratch.catspoiler.org:/usr/obj/usr/src/sys/GENERIC SMB i386
>Description:
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
<sys/types.h>.
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.
>How-To-Repeat:
Attempt to build the port on a recent version of FreeBSD 10.
>Fix:
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
CPPFLAGS+= -I${LOCALBASE}/include -I${BDB_INCLUDE_DIR} ${PTHREAD_CFLAGS}
LDFLAGS+= -L${LOCALBASE}/lib ${PTHREAD_LIBS}
--- /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 @@
++ac_cv_header_com_err_h=yes
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list