x86_64-pc-linux-gnu-gcc -I/var/tmp/portage/net-dns/bind-tools-9.12.1/work/bind-9.12.1 -I../.. -I. -I../../lib/dns -Iinclude -I/var/tmp/portage/net-dns/bind-tools-9.12.1/work/bind-9.12.1/lib/dns/include -I../../lib/dns/include -I/var/tmp/portage/net-dns/bind-tools-9.12.1/work/bind-9.12.1/lib/isc/include -I../../lib/isc -I../../lib/isc/include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/x86_32/include -I/usr/include -D_REENTRANT -DUSE_MD5 -DOPENSSL -DGSSAPI -DUSE_ISC_SPNEGO -D_GNU_SOURCE -O2 -pipe -march=native -DDIG_SIGCHASE -fPIC -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -fno-delete-null-pointer-checks -c openssldh_link.c openssldh_link.c:78:1: error: static declaration of ‘DH_get0_key’ follows non-static declaration DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) { ^~~~~~~~~~~ In file included from dst_internal.h:50:0, ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-no-multilib-hardened_libressl_20180506-210133 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-7.3.0 * Available Python interpreters, in order of preference: [1] python3.5 [2] python2.7 (fallback) Available Ruby profiles: [1] ruby23 (with Rubygems) * emerge -qpv net-dns/bind-tools [ebuild N ] net-dns/bind-tools-9.12.1 USE="gssapi ipv6 libressl readline seccomp ssl -doc -gost -idn -libedit -urandom -xml"
Created attachment 530472 [details] emerge-info.txt
Created attachment 530474 [details] emerge-history.txt
Created attachment 530476 [details] environment
Created attachment 530478 [details] etc.portage.tbz2
Created attachment 530480 [details] logs.tbz2
Created attachment 530482 [details] net-dns:bind-tools-9.12.1:20180508-074817.log
Created attachment 530484 [details] temp.tbz2
On my system with was an issue with libressl-2.7.3. Can you confirm you are running libressl-2.7.x? If so, I just pushed a patch to the libressl overlay that fixes the problem: https://github.com/gentoo/libressl/pull/224
It appears this issue has been fixed upstream by checking for functions in configure instead of version compare logic.
Here is the upstream commit. https://gitlab.isc.org/isc-projects/bind9/commit/29ff62a1492ce3dc702a887e864d00bf1949aed3 I recommend we keep my patch for the 9.12.1 version since it is much simpler. We will get the proper fix when upstream releases the next version.
Er, yeah - that patch completely breaks compilation of bind-tools with libressl 2.6.4. ./dns/libdns.a(openssldh_link.o): In function `openssldh_isprivate': openssldh_link.c:(.text+0x8f): undefined reference to `DH_get0_key' ../dns/libdns.a(openssldh_link.o): In function `openssldh_parse': openssldh_link.c:(.text+0x191): undefined reference to `DH_clear_flags' openssldh_link.c:(.text+0x2b0): undefined reference to `DH_set0_key' openssldh_link.c:(.text+0x2c9): undefined reference to `DH_set0_pqg' ../dns/libdns.a(openssldh_link.o): In function `openssldh_paramcompare': openssldh_link.c:(.text+0x39d): undefined reference to `DH_get0_pqg' openssldh_link.c:(.text+0x3b3): undefined reference to `DH_get0_pqg' etc. ad nauseum
And before someone says use libressl 2.7.3, it is hard masked at the moment: [I] dev-libs/libressl Available versions: 2.6.4(0/44) [M](~)2.7.3(0/45) {+asm static-libs test ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 2.6.4(0/44)(17:10:55 25/03/18)(asm -static-libs ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") Homepage: https://www.libressl.org/ Description: Free version of the SSL/TLS protocol forked from OpenSSL