Bug 133344 - net/nss_ldap fails to compile if world was installed with WITHOUT_KERBEROS=YES in /etc/src.conf
Summary: net/nss_ldap fails to compile if world was installed with WITHOUT_KERBEROS=YE...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-03 17:20 UTC by Alex Bakhtin
Modified: 2009-08-18 22:50 UTC (History)
0 users

See Also:


Attachments
file.diff (1.08 KB, patch)
2009-04-03 17:20 UTC, Alex Bakhtin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Bakhtin 2009-04-03 17:20:04 UTC
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.

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:
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
Comment 1 Edwin Groothuis freebsd_committer 2009-04-03 17:20:12 UTC
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
Comment 2 Edwin Groothuis freebsd_committer 2009-04-03 17:20:14 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 korvus 2009-07-23 19:21:21 UTC
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
Comment 4 skv freebsd_committer 2009-08-18 15:33:44 UTC
State Changed
From-To: feedback->closed

Committed, thanks!
Comment 5 dfilter service freebsd_committer 2009-08-18 15:33:46 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"
Comment 6 dfilter service freebsd_committer 2009-08-18 22:45:54 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"