Bug 215170

Summary: dns/bind-tools: stage-qa error
Product: Ports & Packages Reporter: Po-Chuan Hsieh <sunpoet>
Component: Individual Port(s)Assignee: Mathieu Arnold <mat>
Status: Closed FIXED    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (mat)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Po-Chuan Hsieh freebsd_committer freebsd_triage 2016-12-09 09:44:58 UTC
I got a stage-qa error.
It also seems to be a potential dependency on devel/json-c.

% cd /usr/ports/dns/bind-tools
====> Running Q/A tests (stage-qa)
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: /usr/local/bin/delv is linked to /usr/local/lib/libjson-c.so.2 from devel/json-c but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libjson-c.so:devel/json-c
*** Error code 1

Stop.
make: stopped in /usr/ports/dns/bind-tools

% make -V USES
cpe libedit gssapi ssl
Comment 1 Mathieu Arnold freebsd_committer freebsd_triage 2016-12-09 11:47:12 UTC
I can't reproduce, what os version and options are you using ?
Comment 2 Po-Chuan Hsieh freebsd_committer freebsd_triage 2016-12-09 12:51:43 UTC
% make
[...]
====> Running Q/A tests (stage-qa)
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: /usr/local/bin/delv is linked to /usr/local/lib/libjson-c.so.2 from devel/json-c but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libjson-c.so:devel/json-c
*** Error code 1

Stop.
make: stopped in /usr/ports/dns/bind-tools

% uname -v
FreeBSD 11.0-RELEASE-p1 #0 r306420: Thu Sep 29 01:43:23 UTC 2016     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC

% make showconfig
===> The following configuration options are available for bind-tools-9.10.4P4:
     FILTER_AAAA=on: Enable filtering of AAAA records
     FIXED_RRSET=on: Enable fixed rrset ordering
     IDN=off: International Domain Names support
     IPV6=on: IPv6 protocol support
     LARGE_FILE=on: 64-bit file support
     PYTHON=off: Build with Python utilities
     SIGCHASE=on: dig/host/nslookup will do DNSSEC validation
     THREADS=on: Threading support
====> GSSAPI Security API support: you have to select exactly one of them
     GSSAPI_BASE=on: Using Heimdal in base
     GSSAPI_HEIMDAL=off: Using security/heimdal
     GSSAPI_MIT=off: Using security/krb5
     GSSAPI_NONE=off: Disable
====> Choose which crypto engine to use: you can only select none or one of them
     SSL=on: Build with OpenSSL (Required for DNSSEC)
     NATIVE_PKCS11=off: Use PKCS#11 native API (**READ HELP**)
====> Enable GOST ciphers, needs SSL (see help on 8 and 9): you can only select none or one of them
     GOST=off: GOST raw keys (new default)
     GOST_ASN1=off: GOST using ASN.1
===> Use 'make config' to modify these settings
Comment 3 Po-Chuan Hsieh freebsd_committer freebsd_triage 2016-12-09 14:38:04 UTC
====> Running Q/A tests (stage-qa)
Error: Bad linking on [libedit.so.7] for /usr/local/bin/nslookup please add USES=libedit
Error: Bad linking on [libedit.so.7] for /usr/local/bin/nsupdate please add USES=libedit
Error: /usr/local/bin/delv is linked to /usr/local/lib/libjson-c.so.2 from devel/json-c but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libjson-c.so:devel/json-c
*** Error code 1

Stop.
make: stopped in /usr/ports/dns/bind-tools
Comment 4 commit-hook freebsd_committer freebsd_triage 2016-12-09 14:38:13 UTC
A commit references this bug:

Author: mat
Date: Fri Dec  9 14:37:44 UTC 2016
New revision: 428208
URL: https://svnweb.freebsd.org/changeset/ports/428208

Log:
  Fix using libedit from ports.

  PR:		215170
  Reported by:	sunpoet
  Sponsored by:	Absolight

Changes:
  head/dns/bind910/Makefile
Comment 5 Mathieu Arnold freebsd_committer freebsd_triage 2016-12-09 14:38:31 UTC
I can't reproduce the json dependency with those options...
Comment 6 Mathieu Arnold freebsd_committer freebsd_triage 2016-12-09 14:41:13 UTC
root@11amd64-ports:/usr/ports/dns/bind-tools # make showconfig
===> The following configuration options are available for bind-tools-9.10.4P4:
     FILTER_AAAA=on: Enable filtering of AAAA records
     FIXED_RRSET=on: Enable fixed rrset ordering
     IDN=off: International Domain Names support
     IPV6=on: IPv6 protocol support
     LARGE_FILE=on: 64-bit file support
     PYTHON=off: Build with Python utilities
     SIGCHASE=on: dig/host/nslookup will do DNSSEC validation
     THREADS=on: Threading support
====> GSSAPI Security API support: you have to select exactly one of them
     GSSAPI_BASE=on: Using Heimdal in base
     GSSAPI_HEIMDAL=off: Using security/heimdal
     GSSAPI_MIT=off: Using security/krb5
     GSSAPI_NONE=off: Disable
====> Choose which crypto engine to use: you can only select none or one of them
     SSL=on: Build with OpenSSL (Required for DNSSEC)
     NATIVE_PKCS11=off: Use PKCS#11 native API (**READ HELP**)
====> Enable GOST ciphers, needs SSL (see help on 8 and 9): you can only select none or one of them
     GOST=off: GOST raw keys (new default)
     GOST_ASN1=off: GOST using ASN.1
===> Use 'make config' to modify these settings



root@11amd64-ports:/usr/ports/dns/bind-tools # ldd -a /usr/local/bin/delv
/usr/local/bin/delv:
        libgssapi.so.10 => /usr/lib/libgssapi.so.10 (0x800a19000)
        libgssapi_krb5.so.10 => /usr/lib/libgssapi_krb5.so.10 (0x800c23000)
        libheimntlm.so.11 => /usr/lib/libheimntlm.so.11 (0x800e42000)
        libkrb5.so.11 => /usr/lib/libkrb5.so.11 (0x801049000)
        libhx509.so.11 => /usr/lib/libhx509.so.11 (0x8012c6000)
        libcom_err.so.5 => /usr/lib/libcom_err.so.5 (0x801513000)
        libcrypto.so.8 => /lib/libcrypto.so.8 (0x801800000)
        libasn1.so.11 => /usr/lib/libasn1.so.11 (0x801c6c000)
        libwind.so.11 => /usr/lib/libwind.so.11 (0x801f0c000)
        libheimbase.so.11 => /usr/lib/libheimbase.so.11 (0x802134000)
        libroken.so.11 => /usr/lib/libroken.so.11 (0x802338000)
        libcrypt.so.5 => /lib/libcrypt.so.5 (0x80254a000)
        libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x802769000)
        libz.so.6 => /lib/libz.so.6 (0x802aff000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x802d16000)
        libm.so.5 => /lib/libm.so.5 (0x802f3f000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x80316a000)
        libthr.so.3 => /lib/libthr.so.3 (0x803378000)
        libc.so.7 => /lib/libc.so.7 (0x80359f000)


no json.
Comment 7 Po-Chuan Hsieh freebsd_committer freebsd_triage 2016-12-09 14:43:49 UTC
Please install devel/json-c and try again.
I think it came from "was --with-libjson specified?" section (line 16591) in configure.
Comment 8 Mathieu Arnold freebsd_committer freebsd_triage 2016-12-09 14:50:42 UTC
I'll add an option to enable json support.
Comment 9 Po-Chuan Hsieh freebsd_committer freebsd_triage 2016-12-09 14:51:18 UTC
(In reply to commit-hook from comment #4)

BTW, I've tried to use dns/bind911 as MASTERDIR. Would you consider applying same fix to bind911?
Comment 10 commit-hook freebsd_committer freebsd_triage 2016-12-09 15:03:41 UTC
A commit references this bug:

Author: mat
Date: Fri Dec  9 15:02:37 UTC 2016
New revision: 428214
URL: https://svnweb.freebsd.org/changeset/ports/428214

Log:
  Fixup libedit for all BIND9 ports, and fix spurious json dependency by
  adding an option.

  PR:		215170
  Reported by:	sunpoet
  Sponsored by:	Absolight

Changes:
  head/dns/bind9-devel/Makefile
  head/dns/bind910/Makefile
  head/dns/bind911/Makefile
  head/dns/bind99/Makefile