bind 9.11.1, linking with 'supported' OpenSSL fails at use of deprecated/undef'd v10x api symbol, ERR_load_crypto_strings

PGNet Dev pgnet.dev at gmail.com
Thu Apr 20 01:11:18 UTC 2017


Upgrading from bind 9.10.3-P5 -> 9.11.1 release on linux64,

	cat CHANGES
		../dns/.libs/libdns.so: undefined reference to `ERR_load_crypto_strings'
		collect2: error: ld returned 1 exit status
		--- 9.11.0 released ---
		...
		4497.   [port]          Add support for OpenSSL 1.1.0. [RT #41284]
		...
		--- 9.11.0 released ---


Building, as always, with openssl v10x, all's well:

	bind -V
		BIND 9.11.1 <id:e3dc2e7>
		running on Linux x86_64 4.10.10-2.ga78ebd0-default #1 SMP PREEMPT Wed Apr 12 11:18:29 UTC 2017 (a78ebd0)
		...
		compiled by GCC 6.3.1 20170331 [gcc-6-branch revision 246609]
		compiled with OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017
		linked to OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017
		...

OTOH,

Building, similarly, with openssl v110x FAILs still, at

	...
	Makefile:465: recipe for target 'sample-gai' failed
	make[2]: *** [sample-gai] Error 1
	...
	libtool: link: /usr/bin/gcc-6 -O3 -Wall -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -I/usr/include -I/usr/local/lmdb/include -I/usr/include/libxml2 -fPIC -Wl,-rpath -Wl,/usr/local/openssl11/lib64 -Wl,-rpath -Wl,/usr/local/lmdb/lib64 -Wl,-rpath -Wl,/usr/local/lib64 -o .libs/resolve .libs/resolve.o  -L/usr/local/openssl11/lib64 -L/usr/local/lmdb/lib64 -L/usr/local/lib64 ../irs/.libs/libirs.so -L/usr/lib -L/usr/local/lmdb/lib -L/lib64 ../dns/.libs/libdns.so -L/usr/local/openssl11/lib ../isccfg/.libs/libisccfg.so /usr/local/src/bind-9.11.1/lib/dns/.libs/libdns.so /usr/local/src/bind-9.11.1/lib/isc/.libs/libisc.so ../isc/.libs/libisc.so -lssl -lcrypto -lcap -ljson-c -lpthread /usr/local/lib64/libGeoIP.so -llmdb /usr/lib64/libxml2.so -lz -llzma -lm -ldl -Wl,-rpath -Wl,/usr/local/bind-9.11.1/lib64
	../dns/.libs/libdns.so: undefined reference to `ERR_load_crypto_strings'
	collect2: error: ld returned 1 exit status
	Makefile:457: recipe for target 'resolve' failed
	make[2]: *** [resolve] Error 1
	../dns/.libs/libdns.so: undefined reference to `ERR_load_crypto_strings'
	collect2: error: ld returned 1 exit status
	Makefile:473: recipe for target 'sample-request' failed
	make[2]: *** [sample-request] Error 1
	libtool: link: /usr/bin/gcc-6 -O3 -Wall -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -I/usr/include -I/usr/local/lmdb/include -I/usr/include/libxml2 -fPIC -Wl,-rpath -Wl,/usr/local/openssl11/lib64 -Wl,-rpath -Wl,/usr/local/lmdb/lib64 -Wl,-rpath -Wl,/usr/local/lib64 -o .libs/sample-async .libs/sample-async.o  -L/usr/local/openssl11/lib64 -L/usr/local/lmdb/lib64 -L/usr/local/lib64 ../dns/.libs/libdns.so -L/usr/local/openssl11/lib -L/usr/lib -L/usr/local/lmdb/lib -L/lib64 ../isccfg/.libs/libisccfg.so /usr/local/src/bind-9.11.1/lib/dns/.libs/libdns.so /usr/local/src/bind-9.11.1/lib/isc/.libs/libisc.so ../isc/.libs/libisc.so -lssl -lcrypto -lcap -ljson-c -lpthread /usr/local/lib64/libGeoIP.so -llmdb /usr/lib64/libxml2.so -lz -llzma -lm -ldl -Wl,-rpath -Wl,/usr/local/bind-9.11.1/lib64
	../dns/.libs/libdns.so: undefined reference to `ERR_load_crypto_strings'
	collect2: error: ld returned 1 exit status
	Makefile:461: recipe for target 'sample-async' failed
	make[2]: *** [sample-async] Error 1
	make[2]: Leaving directory '/usr/local/src/bind-9.11.1/lib/samples'
	Makefile:78: recipe for target 'subdirs' failed
	make[1]: *** [subdirs] Error 1
	make[1]: Leaving directory '/usr/local/src/bind-9.11.1/lib'
	Makefile:83: recipe for target 'subdirs' failed
	make: *** [subdirs] Error 1

'ERR_load_crypto_strings' is an openssl10x symbol, deprecated in 11x.

it appears in bind sources,

	cd bind-9.11.1
	grep -rln ERR_load_crypto_strings .
		./lib/dns/openssl_link.c




More information about the bind-users mailing list