[PATCH] Re: 4.2.0 compile error on our centos-6 and centos-7 systems (gnutls related)

Thomas Schulz schulz at adi.com
Mon Mar 16 08:24:38 MDT 2015

> Running make, everything compiled but linking failed with a problem that
> looked to have no relation to this bug and patch. The error was:
> [3580/3977] Linking default/source4/client/smbclient4
> Undefined			first referenced
>  symbol  			    in file
> strsep                              default/source4/librpc/libdcerpc.so
> ld: fatal: Symbol referencing errors. No output written to /home/projects
>   /tools/samba/samba-4.2.0.i386sc.pt/bin/default/source4/client/smbclient4
> BUT! I can get it to build if I do the following:
> After running  configure, hide away the new libraries and .h files from
> the new gnutls install and make the extremely old ones available.
> Start the make and wait until the linking dies due to not finding the
> many routines that the old gnutls does not have.
> Put back the new gnutls.
> Restart the make. It now continues and links the failed link and continues
> to be able to link default/source4/client/smbclient4.

I found the relationship. The ancient Solaris version of libgcrypt
contains a globally available copy of strsep. So that is where the
build has been comming up with that function.

So, at least for now, add '-lgcrypt' as the last entry of the definition
of the LDFLAGS environment variable when running configure.

Note that the patch is perfectly correct in removing all uses of
libgcrypt as the setup that was previously attempted can not be
done with the ancient Solaris version of libgcrypt.

Tom Schulz
Applied Dynamics Intl.
schulz at adi.com

More information about the samba-technical mailing list