Page MenuHome GnuPG

ntbTLS configure dependencies
Closed, ResolvedPublic

Description

The configure script of ntbTLS 0.1.2 checks for dependency versions earlier than those actually needed.

  • It looks for libgcrypt >= 1.6.0 but actually needs >= 1.7.0 (attempts to link with gcry_mpi_ec_decode_point which was added in 2016-01-28, released in 1.7.0)
  • It looks for libgpg-error >= 1.17, but uses GPGRT_ATTR_PRINTF() macro added in 1.19. Would be trivial to stub and keep 1.17 as the required version if wanted. (libgcrypt only wants 1.13 so there is not a transitional need to bump it)
make[1]: Entering directory 'buildgnupg/ntbtls-0.1.2'
Making all in src
make[2]: Entering directory 'buildgnupg/ntbtls-0.1.2/src'
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..      -g -O2 -fvisibility=hidden -Wal
l -Wno-po
inter-sign -Wpointer-arith -MT visibility.lo -MD -MP -MF .deps/visibility.Tpo -c -o visibility.lo visibility.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -fvisibility=hidden -Wall -Wno-pointer-sign -Wpointer-arit
h -MT vis
ibility.lo -MD -MP -MF .deps/visibility.Tpo -c visibility.c  -fPIC -DPIC -o .libs/visibility.o
In file included from ntbtls-int.h:30:0,
                 from visibility.h:24,
                 from visibility.c:24:
util.h: In function '_ntbtls_debug_msg':
util.h:126:30: error: expected declaration specifiers before 'GPGRT_ATTR_PRINTF'
                         ...) GPGRT_ATTR_PRINTF(2,0);
                         

    ^

../libgpg-error-1.37/src/gpgrt.h

checking for GPG Error - version >= 1.17... yes (1.17)

	Interface changes relative to the 1.19 release:
		GPGRT_ATTR_PRINTF                NEW macro.

util.h uses GPGRT_ATTR_PRINTF() macro, which was added in libgpg-error 1.19:
void _ntbtls_debug_msg (int level, const char *format,
                        ...) GPGRT_ATTR_PRINTF(2,0);

Event Timeline

werner claimed this task.
werner added a subscriber: werner.

Thanks. I bumped it up to be in sync with GnuPG 2.2. It also does not make sense to require a Libgcrypt which has reached end-of-life; Thus we now need 1.8.