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>
next in thread | raw e-mail | index | archive | help
>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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205170142.q4H1gs22074824>