Date: Wed, 16 May 2012 18:42:54 -0700 (PDT) From: Don Lewis <truckman@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: gnome@FreeBSD.org Subject: databases/evolution-data-server build fails on FreeBSD 10 with new Heimdal Message-ID: <201205170142.q4H1gs22074824@mousie.catspoiler.org>
index | next in thread | raw e-mail
>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
>Environment:
System: FreeBSD scratch.catspoiler.org 10.0-CURRENT FreeBSD 10.0-CURRENT #6: Tue May 15 14:19:58 PDT 2012 dl@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
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205170142.q4H1gs22074824>
