From owner-freebsd-gnome@FreeBSD.ORG Tue Nov 30 17:03:32 2010 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49A46106564A; Tue, 30 Nov 2010 17:03:32 +0000 (UTC) (envelope-from avg@freebsd.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 618F58FC13; Tue, 30 Nov 2010 17:03:30 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id TAA25506; Tue, 30 Nov 2010 19:03:29 +0200 (EET) (envelope-from avg@freebsd.org) Message-ID: <4CF52E61.9090405@freebsd.org> Date: Tue, 30 Nov 2010 19:03:29 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.12) Gecko/20101029 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: gnome@freebsd.org X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Joe Marcus Clarke Subject: databases/evolution-data-server, base kerberos and security/openssl X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Nov 2010 17:03:32 -0000 It seems that databases/evolution-data-server fails the configure stage if 1. a base system does have kerberos in it; 2. security/heimdal is not installed; 3. there are no special flags like NO_KERBEROS in make.conf; 4. security/openssl (openssl-1.0.0*) is installed. Excerpts from config.log: ... $ ./configure --enable-static --enable-gnome-keyring=yes --with-openldap=yes --with-libdb=/usr/local --with-krb5=/usr --without-weather --localstatedir=/usr/local/share --with-html-dir=/usr/local/share/doc --disable-gtk-doc --with-gconf-source=xml:merged:/usr/local/etc/gconf/gconf.xml.defaults --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/ --build=amd64-portbld-freebsd8.1 ... configure:16108: cc -o conftest -O2 -pipe -O2 -fno-strict-aliasing -pipe -march=nocona -DLDAP_DEPRECATED -I/usr/local/include -I/usr/local/include/db41 -L/usr/local/lib -pthread conftest.c -L/usr/lib -L/usr/lib -lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lroken -lcrypt >&5 /usr/lib/libhx509.so: undefined reference to `MD2_Init' /usr/lib/libhx509.so: undefined reference to `MD2_Final' /usr/lib/libhx509.so: undefined reference to `MD2_Update' ... The problem is that -L/usr/local/lib comes before -L/usr/lib and as such libcrypto.so from openssl-1.0.0* wins over libcrypto.so from the base, but the former has an incompatible API and doesn't provide the quoted above symbols. The reason that /usr/local/lib appears sooner in the library search path is in the port's Makefile: CONFIGURE_ENV= ... \ LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" It seems that LDFLAGS passed via configure's environment get prepended before any linker flags tested/discovered by configure. I am sure that there is a reason to have -L${LOCALBASE}/lib explicitly specified in the LDFLAGS. The following modification fixes the port build in the specified environment: CONFIGURE_ENV= ... \ LDFLAGS="-L/usr/lib -L${LOCALBASE}/lib ${PTHREAD_LIBS}" Perhaps this modification should be conditional in the same way as --with-krb5 setting in CONFIGURE_ARGS. Thanks! -- Andriy Gapon