It looks like the test failures were cause by bug #848339, which was
fixed in libunbound2 1.6.0-2. Relevant log excerpts:
Setting up the build environment (libunbound2 version):
> Selecting previously unselected package libunbound2:amd64.
> Preparing to unpack .../088-libunbound2_1.6.0-1_amd64.deb ...
> Unpacking libunbound2:amd64 (1.6.0-1) ...
Test log (look at any of the failed tests):
> gnutls-cli: symbol lookup error: /usr/lib/x86_64-linux-gnu/libunbound.so.2:
> undefined symbol: fake_dsa
I believe a rebuild with libunbound2 1.6.0-2 will fix the test failures.
However, there were also build failures on the 32 bit architectures,
which are my fault for not using the right (portable) format modifier
with apr_size_t in a few calls to ap_log_error() or apr_psprintf(). I
didn't get to test a 32 bit build yet, but I believe the attached patch
will fix the problem.
diff --git a/src/gnutls_cache.c b/src/gnutls_cache.c
index 3ebbd08..2b615f9 100644
--- a/src/gnutls_cache.c
+++ b/src/gnutls_cache.c
@@ -494,7 +494,7 @@ static gnutls_datum_t dbm_cache_fetch(mgs_handle_t *ctxt, gnutls_datum_t key)
}
ap_log_cerror(APLOG_MARK, APLOG_TRACE1, rv, ctxt->c,
- "fetched %ld bytes from cache",
+ "fetched %" APR_SIZE_T_FMT " bytes from cache",
dbmval.dsize);
memcpy(data.data, dbmval.dptr + sizeof (apr_time_t), data.size);
@@ -587,7 +587,8 @@ static int dbm_cache_store(server_rec *s, gnutls_datum_t key,
apr_global_mutex_unlock(sc->cache->mutex);
ap_log_error(APLOG_MARK, APLOG_TRACE1, rv, s,
- "stored %ld bytes of data (%ld byte key) in cache '%s'",
+ "stored %" APR_SIZE_T_FMT " bytes of data (%"
+ APR_SIZE_T_FMT " byte key) in cache '%s'",
dbmval.dsize, dbmkey.dsize, sc->cache_config);
apr_pool_destroy(spool);
diff --git a/src/gnutls_util.c b/src/gnutls_util.c
index 9905bad..5e98bd4 100644
--- a/src/gnutls_util.c
+++ b/src/gnutls_util.c
@@ -28,7 +28,7 @@ const char* http_post_header(apr_pool_t *p, apr_uri_t *uri,
"Host: %s\r\n"
"Content-Type: %s\r\n"
"Accept: %s\r\n"
- "Content-Length: %ld\r\n\r\n",
+ "Content-Length: %" APR_SIZE_T_FMT "\r\n\r\n",
apr_uri_unparse(p, uri, APR_URI_UNP_OMITSITEPART),
uri->hostname, content_type,
accept != NULL ? accept : "*/*",