From nobody@FreeBSD.org  Fri Apr  3 16:16:33 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CC803106566B
	for <freebsd-gnats-submit@FreeBSD.org>; Fri,  3 Apr 2009 16:16:33 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id B83568FC13
	for <freebsd-gnats-submit@FreeBSD.org>; Fri,  3 Apr 2009 16:16:33 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n33GGWNL032062
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 3 Apr 2009 16:16:32 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n33GGWRK032061;
	Fri, 3 Apr 2009 16:16:32 GMT
	(envelope-from nobody)
Message-Id: <200904031616.n33GGWRK032061@www.freebsd.org>
Date: Fri, 3 Apr 2009 16:16:32 GMT
From: Alex Bakhtin <bakhtin@amt.ru>
To: freebsd-gnats-submit@FreeBSD.org
Subject: net/nss_ldap fails to compile if world was installed with WITHOUT_KERBEROS=YES in /etc/src.conf
X-Send-Pr-Version: www-3.1
X-GNATS-Notify: kazakov@gmail.com

>Number:         133344
>Category:       ports
>Synopsis:       net/nss_ldap fails to compile if world was installed with WITHOUT_KERBEROS=YES in /etc/src.conf
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 03 16:20:04 UTC 2009
>Closed-Date:    Tue Aug 18 14:33:57 UTC 2009
>Last-Modified:  Tue Aug 18 21:50:02 UTC 2009
>Originator:     Alex Bakhtin
>Release:        7.2-PRERELEASE
>Organization:
AMT Group
>Environment:
FreeBSD amtkit-CHANGEME.proactive.amt.ru 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #7: Tue Mar 31 14:52:22 MSD 2009     root@amtkit-CHANGEME.lab.amt.ru:/usr/obj/usr/src/sys/AMTKIT  amd64

>Description:
net/nss_ldap fails to compile if there is no KERBEROS header files installed
(WITHOUT_KERBEROS=YES in /etc/src.conf).

> sudo make
===>  Extracting for nss_ldap-1.264_1
=> MD5 Checksum OK for nss_ldap-264.tar.gz.
=> SHA256 Checksum OK for nss_ldap-264.tar.gz.
/bin/cp /usr/ports/net/nss_ldap/files/bsdnss.c /var/ports/usr/ports/net/nss_ldap/work/nss_ldap-264
===>  Patching for nss_ldap-1.264_1
===>  Applying FreeBSD patches for nss_ldap-1.264_1
===>   nss_ldap-1.264_1 depends on executable: gmake - found
===>   nss_ldap-1.264_1 depends on file: /usr/local/bin/automake-1.9 - found
===>   nss_ldap-1.264_1 depends on file: /usr/local/bin/autoconf-2.62 - found
===>   nss_ldap-1.264_1 depends on shared library: ldap-2.3.2 - found
===>  Configuring for nss_ldap-1.264_1
autoheader-2.62: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
autoheader-2.62: WARNING: and `config.h.top', to define templates for `config.h.in'
autoheader-2.62: WARNING: is deprecated and discouraged.
autoheader-2.62:
autoheader-2.62: WARNING: Using the third argument of `AC_DEFINE' and
autoheader-2.62: WARNING: `AC_DEFINE_UNQUOTED' allows one to define a template without
autoheader-2.62: WARNING: `acconfig.h':
autoheader-2.62:
autoheader-2.62: WARNING:   AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader-2.62:                [Define if a function `main' is needed.])
autoheader-2.62:
autoheader-2.62: WARNING: More sophisticated templates can also be produced, see the
autoheader-2.62: WARNING: documentation.
checking build system type... amd64-portbld-freebsd7.2
checking host system type... amd64-portbld-freebsd7.2
checking target system type... amd64-portbld-freebsd7.2
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether gmake sets $(MAKE)... yes
checking for gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for style of include used by gmake... GNU
checking dependency style of cc... gcc3
checking how to run the C preprocessor... cc -E
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking lber.h usability... yes
checking lber.h presence... yes
checking for lber.h... yes
checking ldap.h usability... yes
checking ldap.h presence... yes
checking for ldap.h... yes
checking ldap_ssl.h usability... no
checking ldap_ssl.h presence... no
checking for ldap_ssl.h... no
checking nss.h usability... yes
checking nss.h presence... yes
checking for nss.h... yes
checking irs.h usability... no
checking irs.h presence... no
checking for irs.h... no
checking thread.h usability... no
checking thread.h presence... no
checking for thread.h... no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking synch.h usability... no
checking synch.h presence... no
checking for synch.h... no
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking shadow.h usability... no
checking shadow.h presence... no
checking for shadow.h... no
checking prot.h usability... no
checking prot.h presence... no
checking for prot.h... no
checking port_before.h usability... no
checking port_before.h presence... no
checking for port_before.h... no
checking port_after.h usability... no
checking port_after.h presence... no
checking for port_after.h... no
checking aliases.h usability... no
checking aliases.h presence... no
checking for aliases.h... no
checking net/route.h usability... no
checking net/route.h presence... yes
configure: WARNING: net/route.h: present but cannot be compiled
configure: WARNING: net/route.h:     check for missing prerequisite headers?
configure: WARNING: net/route.h: see the Autoconf documentation
configure: WARNING: net/route.h:     section "Present But Cannot Be Compiled"
configure: WARNING: net/route.h: proceeding with the preprocessor's result
configure: WARNING: net/route.h: in the future, the compiler will take precedence
checking for net/route.h... yes
checking netinet/if_ether.h usability... no
checking netinet/if_ether.h presence... yes
configure: WARNING: netinet/if_ether.h: present but cannot be compiled
configure: WARNING: netinet/if_ether.h:     check for missing prerequisite headers?
configure: WARNING: netinet/if_ether.h: see the Autoconf documentation
configure: WARNING: netinet/if_ether.h:     section "Present But Cannot Be Compiled"
configure: WARNING: netinet/if_ether.h: proceeding with the preprocessor's result
configure: WARNING: netinet/if_ether.h: in the future, the compiler will take precedence
checking for netinet/if_ether.h... yes
checking netinet/ether.h usability... no
checking netinet/ether.h presence... no
checking for netinet/ether.h... no
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking alignof.h usability... no
checking alignof.h presence... no
checking for alignof.h... no
checking rpc/rpcent.h usability... yes
checking rpc/rpcent.h presence... yes
checking for rpc/rpcent.h... yes
checking sys/byteorder.h usability... no
checking sys/byteorder.h presence... no
checking for sys/byteorder.h... no
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking libc-lock.h usability... no
checking libc-lock.h presence... no
checking for libc-lock.h... no
checking bits/libc-lock.h usability... no
checking bits/libc-lock.h presence... no
checking for bits/libc-lock.h... no
checking sasl.h usability... no
checking sasl.h presence... no
checking for sasl.h... no
checking sasl/sasl.h usability... no
checking sasl/sasl.h presence... no
checking for sasl/sasl.h... no
checking for strings.h... (cached) yes
checking gssldap.h usability... no
checking gssldap.h presence... no
checking for gssldap.h... no
checking gsssasl.h usability... no
checking gsssasl.h presence... no
checking for gsssasl.h... no
checking gssapi/gssapi_krb5.h usability... no
checking gssapi/gssapi_krb5.h presence... no
checking for gssapi/gssapi_krb5.h... no
checking gssapi.h usability... yes
checking gssapi.h presence... yes
checking for gssapi.h... yes
checking krb5.h usability... no
checking krb5.h presence... no
checking for krb5.h... no
checking for main in -lresolv... no
checking for main in -lnsl... no
checking for main in -lsocket... no
checking for strtok_r... yes
checking for sigaction... yes
checking for sigset... no
checking for res_search... yes
checking for dn_expand... yes
checking resolv.h usability... no
checking resolv.h presence... yes
configure: WARNING: resolv.h: present but cannot be compiled
configure: WARNING: resolv.h:     check for missing prerequisite headers?
configure: WARNING: resolv.h: see the Autoconf documentation
configure: WARNING: resolv.h:     section "Present But Cannot Be Compiled"
configure: WARNING: resolv.h: proceeding with the preprocessor's result
configure: WARNING: resolv.h: in the future, the compiler will take precedence
checking for resolv.h... yes
checking for snprintf... yes
checking for gethostbyname... yes
checking for nsdispatch... yes
checking for main in -lpthread_nonshared... no
checking for pthread_atfork... yes
checking for pthread_once... yes
checking for ether_aton... yes
checking for ether_ntoa... yes
checking for struct ether_addr... yes
checking for socklen_t... yes
checking for pw_change in struct passwd... yes
checking for pw_expire in struct passwd... yes
checking size of unsigned int... 4
checking size of unsigned long... 8
checking size of uid_t... 4
checking size of gid_t... 4
checking for dlopen in -ldl... no
checking for gss_krb5_ccache_name in -lgssapi... no
checking for gss_krb5_ccache_name in -lgssapi_krb5... no
checking for main in -lcom_err... yes
checking for main in -lkrb5... no
checking for sasl_client_init in -lsasl2... no
checking for main in -llber... yes
checking for main in -lldap... yes
checking for ldap_gss_bind in -lgssldap... no
checking for sasl_auxprop_request... no
checking for ldap_init... yes
checking for ldap_get_lderrno... no
checking for ldap_parse_result... yes
checking for ldap_memfree... yes
checking for ldap_controls_free... yes
checking for ldap_ld_free... yes
checking for ldap_explode_rdn... yes
checking for ldap_set_option... yes
checking for ldap_get_option... yes
checking for ldap_sasl_interactive_bind_s... yes
checking for ldap_initialize... yes
checking for ldap_search_ext... yes
checking for ldap_create_control... yes
checking for ldap_create_page_control... no
checking for ldap_parse_page_control... no
checking for ldapssl_client_init... no
checking for ldap_start_tls_s... yes
checking for ldap_pvt_tls_set_option... yes
checking for ldap_start_tls... yes
checking for gethostbyname_r... yes
checking whether gethostbyname_r takes 6 arguments... 6
checking for ldap_set_rebind_proc... yes
checking whether ldap_set_rebind_proc takes 3 arguments... 3
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
===>  Building for nss_ldap-1.264_1
gmake  all-am
gmake[1]: Entering directory `/var/ports/usr/ports/net/nss_ldap/work/nss_ldap-264'
if cc -DHAVE_CONFIG_H -I. -I. -I.   -I/usr/local/include -DLDAP_REFERRALS -DLDAP_DEPRECATED -DPIC -D_REENTRANT  -O2 -fno-strict-aliasing -pipe -march=native -DLDAP_DEPRECATED -Wall -fPIC -MT ldap-nss.o -MD -MP -MF ".deps/ldap-nss.Tpo" -c -o ldap-nss.o ldap-nss.c; \
        then mv -f ".deps/ldap-nss.Tpo" ".deps/ldap-nss.Po"; else rm -f ".deps/ldap-nss.Tpo"; exit 1; fi
In file included from ldap-nss.c:82:
/usr/include/gssapi.h:3:2: warning: #warning "this file includes <gssapi.h> which is deprecated, use <gssapi/gssapi.h> instead"
ldap-nss.c:88:18: error: krb5.h: No such file or directory
gmake[1]: *** [ldap-nss.o] Error 1
gmake[1]: Leaving directory `/var/ports/usr/ports/net/nss_ldap/work/nss_ldap-264'
gmake: *** [all] Error 2
*** Error code 1

Stop in /usr/ports/net/nss_ldap.

>How-To-Repeat:
1. Insert WITHOUT_KERBEROS=YES into /etc/src.conf
2. Install system (into jail f.e.) via make buildworld/installworld
3. In new system cd /usr/ports/net/nss_ldap && make

>Fix:
There are two problems:
1. Reference to kerberos turned on by default in Makefile.
2. nss_ldap v 264 doesn't check HAVE_KRB5_H before including krb5.h.


Patch attached with submission follows:

diff -u -r /usr/ports/net/nss_ldap/Makefile /home/bakhtin/work/nss_ldap/Makefile
--- /usr/ports/net/nss_ldap/Makefile	2009-01-05 22:04:27.000000000 +0300
+++ /home/bakhtin/work/nss_ldap/Makefile	2009-04-03 20:01:18.000000000 +0400
@@ -33,8 +33,7 @@
 CONFIGURE_ARGS=	--with-ldap-conf-file=${PREFIX}/etc/nss_ldap.conf \
 		--with-ldap-secret-file=${PREFIX}/etc/nss_ldap.secret \
 		--enable-rfc2307bis \
-		--enable-paged-results \
-		--enable-configurable-krb5-ccname-env
+		--enable-paged-results 
 
 MAN5=	nss_ldap.5
 
diff -u -r /usr/ports/net/nss_ldap/files/patch-ldap-nss.c /home/bakhtin/work/nss_ldap/files/patch-ldap-nss.c
--- /usr/ports/net/nss_ldap/files/patch-ldap-nss.c	2006-05-27 20:31:57.000000000 +0400
+++ /home/bakhtin/work/nss_ldap/files/patch-ldap-nss.c	2009-04-03 20:00:30.000000000 +0400
@@ -9,3 +9,11 @@
  #include <sasl/sasl.h>
  #elif defined(HAVE_SASL_H)
  #include <sasl.h>
+@@ -84,7 +84,7 @@
+ #include <gssapi/gssapi.h>
+ #include <gssapi/gssapi_krb5.h>
+ #endif
+-#ifdef CONFIGURE_KRB5_CCNAME
++#if defined(CONFIGURE_KRB5_CCNAME) && defined(HAVE_KRB5_H)
+ #include <krb5.h>
+ #endif


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Fri Apr 3 16:20:14 UTC 2009 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=133344 

From: Edwin Groothuis <edwin@FreeBSD.org>
To: kazakov@gmail.com
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/133344: net/nss_ldap fails to compile if world was installed with WITHOUT_KERBEROS=YES in /etc/src.conf
Date: Fri, 3 Apr 2009 16:20:12 UT

 Maintainer of net/nss_ldap,
 
 Please note that PR ports/133344 has just been submitted.
 
 If it contains a patch for an upgrade, an enhancement or a bug fix
 you agree on, reply to this email stating that you approve the patch
 and a committer will take care of it.
 
 The full text of the PR can be found at:
     http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/133344
 
 -- 
 Edwin Groothuis via the GNATS Auto Assign Tool
 edwin@FreeBSD.org

From: Steve Polyack <korvus@comcast.net>
To: bug-followup@FreeBSD.org, bakhtin@amt.ru
Cc:  
Subject: Re: ports/133344: net/nss_ldap fails to compile if world was installed
 with WITHOUT_KERBEROS=YES in /etc/src.conf
Date: Thu, 23 Jul 2009 14:21:21 -0400

 I can also confirm that this is broken:
 
 $ make install clean
 ===>  Building for nss_ldap-1.264_2
 gmake  all-am
 gmake[1]: Entering directory 
 `/var/ports/usr/ports/net/nss_ldap/work/nss_ldap-264'
 if cc -DHAVE_CONFIG_H -I. -I. -I.   -I/usr/local/include 
 -DLDAP_REFERRALS -DLDAP_DEPRECATED -DPIC -D_REENTRANT  -O2 
 -fno-strict-aliasing -pipe -DLDAP_DEPRECATED -Wall -fPIC -MT ldap-nss.o 
 -MD -MP -MF ".deps/ldap-nss.Tpo" -c -o ldap-nss.o ldap-nss.c; \
     then mv -f ".deps/ldap-nss.Tpo" ".deps/ldap-nss.Po"; else rm -f 
 ".deps/ldap-nss.Tpo"; exit 1; fi
 In file included from ldap-nss.c:82:
 /usr/include/gssapi.h:3:2: warning: #warning "this file includes 
 <gssapi.h> which is deprecated, use <gssapi/gssapi.h> instead"
 ldap-nss.c:88:18: error: krb5.h: No such file or directory
 gmake[1]: *** [ldap-nss.o] Error 1
 gmake[1]: Leaving directory 
 `/var/ports/usr/ports/net/nss_ldap/work/nss_ldap-264'
 gmake: *** [all] Error 2
 
 
 Can we get this committed on a maintainer timeout?
 
 - Steve Polyack
 
State-Changed-From-To: feedback->closed 
State-Changed-By: skv 
State-Changed-When: Tue Aug 18 14:33:44 UTC 2009 
State-Changed-Why:  
Committed, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=133344 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/133344: commit references a PR
Date: Tue, 18 Aug 2009 14:33:46 +0000 (UTC)

 skv         2009-08-18 14:33:38 UTC
 
   FreeBSD ports repository
 
   Modified files:
     net/nss_ldap         Makefile 
     net/nss_ldap/files   patch-ldap-nss.c 
   Log:
   Unbreak build with defined WITHOUT_KERBEROS.
   
   PR:             ports/133344
   Submitted by:   Alex Bakhtin <bakhtin xx amt.ru>
   Approved by:    maintainer timeout (> 4 months)
   
   Revision  Changes    Path
   1.29      +1 -3      ports/net/nss_ldap/Makefile
   1.3       +8 -0      ports/net/nss_ldap/files/patch-ldap-nss.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/133344: commit references a PR
Date: Tue, 18 Aug 2009 21:45:54 +0000 (UTC)

 tmclaugh    2009-08-18 21:45:43 UTC
 
   FreeBSD ports repository
 
   Modified files:
     net/nss_ldap         Makefile 
     net/nss_ldap/files   patch-ldap-nss.c 
   Log:
   - fix krb5_ccname broken in previous commit.
   
   PR:             133344
   
   Revision  Changes    Path
   1.30      +7 -2      ports/net/nss_ldap/Makefile
   1.4       +0 -8      ports/net/nss_ldap/files/patch-ldap-nss.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
