[Samba] Issue compiling Samba 4.11.6 with GNUTLS 3.6.12 (Not standard location)

Andrew Bartlett abartlet at samba.org
Fri Feb 28 18:52:11 UTC 2020

On Fri, 2020-02-28 at 17:12 +0000, Georg.Biberger--- via samba wrote:
> Hello,
> I try to compile Samba 4.11.6 on an old SLES11 machine. There is an old GNUTLS installed.
> Since I do not have root access and I have to use a newer GNUTLS-Version, I have installed gnutls-3.6.12 in a different location and set PKG_CONFIG_PATH appropriately. The configure script has run successfully, but when I run make (with verbose option), I get this error:
> 17:44:33 runner ['/usr/bin/gcc', '-D_SAMBA_BUILD_=4', '-DHAVE_CONFIG_H=1', '-D_GNU_SOURCE=1', '-D_XOPEN_SOURCE_EXTENDED=1', '-DHAVE_CONFIG_H=1', '-fPIC', '-D__STDC_WANT_LIB_EXT1__=1', '-D_REENTRANT', '-fstack-protector', '-fstack-clash-protection', '-DSTATIC_cli_composite_MODULES=NULL', '-DSTATIC_cli_composite_MODULES_PROTO=extern void __cli_composite_dummy_module_proto(void)', '-Isource4/libcli', '-I../../source4/libcli', '-Iinclude/public', '-I../../include/public', '-Isource4', '-I../../source4', '-Ilib', '-I../../lib', '-Isource4/lib', '-I../../source4/lib', '-Isource4/include', '-I../../source4/include', '-Iinclude', '-I../../include', '-Ilib/replace', '-I../../lib/replace', '-I.', '-I../..', '-Isource4/lib/events', '-I../../source4/lib/events', '-Ilib/util/charset', '-I../../lib/util/charset', '-Ilib/talloc', '-I../../lib/talloc', '-Ilib/crypto', '-I../../lib/crypto', '-Ilib/tevent', '-I../../lib/tevent', '-Idynconfig', '-I../../dynconfig', '../../source4/libcli/composite/composite.c', '-c', '-o/lfs/EDA/DATA/install/samba-4.11.6/bin/default/source4/libcli/composite/composite.c.4.o']
> In file included from ../../source4/../libcli/smb/smb_common.h:30,
>                  from ../../source4/libcli/raw/libcliraw.h:25,
>                  from ../../source4/libcli/composite/composite.c:26:
> ../../libcli/smb/smb2_signing.h:30: error: expected specifier-qualifier-list before 'gnutls_hmac_hd_t'

Samba 4.12 (you could build a release candidate) should fix this.  What
is happening is that some parts of the Samba build don't depend on
GnuTLS and so don't put the path into the -I list, so are getting the
system header.


If that patch works for you on 4.11 you can ask that it be included in
the next 4.11 as well.

Andrew Bartlett

Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba

More information about the samba mailing list