[gnutls-devel] gnutls 3.1.26 build failures

antoine.pierlot-garcin at scle.fr antoine.pierlot-garcin at scle.fr
Tue Sep 16 10:22:46 CEST 2014


Recently I had to compile GnuTLS 3.1.26 for a win32 target 
(cross-compile from Debian unstable) and for a Debian stable target. I 
encountered two build failures, which I was able to resolve. Here some 
details and the patches, if by any chance you want to include them in a 
future 3.1.x release.

make[4]: Entering directory '/root/src/gnutls/gnutls-3.1.26/src'
/bin/bash ../libtool  --tag=CC   --mode=compile i586-mingw32msvc-gcc 
-std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I./../gl -I./../gl 
-I./../lib/includes -I./../lib/includes -I./../libdane/includes 
-I./../extra/includes -I../src/libopts 
-I/root/src/gnutls/gnutls-3.1.26/../lib_win32/include  -O2 -MT 
libcmd_srp_la-srptool-args.lo -MD -MP -MF 
.deps/libcmd_srp_la-srptool-args.Tpo -c -o libcmd_srp_la-srptool-args.lo 
`test -f 'srptool-args.c' || echo './'`srptool-args.c
libtool: compile:  i586-mingw32msvc-gcc -std=gnu99 -DHAVE_CONFIG_H -I. 
-I.. -I./../gl -I./../gl -I./../lib/includes -I./../lib/includes 
-I./../libdane/includes -I./../extra/includes -I../src/libopts 
-I/root/src/gnutls/gnutls-3.1.26/../lib_win32/include -O2 -MT 
libcmd_srp_la-srptool-args.lo -MD -MP -MF 
.deps/libcmd_srp_la-srptool-args.Tpo -c srptool-args.c  -DDLL_EXPORT 
-DPIC -o .libs/libcmd_srp_la-srptool-args.o
In file included from srptool-args.c:43:0:
srptool-args.h:61:3: error: #error option template version mismatches 
autoopts/options.h header
  # error option template version mismatches autoopts/options.h header

There is a mismatch between the generated options.h (autoopts from 
autogen 5.18.3, already in GnuTLS sources) and the embedded libopts at 
src/libopts which is obtained from autogen 5.18.2. I could not 
re-generate the headers with the embedded libopts, so I updated 
src/libopts to 5.18.3. I am not sure this is the right solution, so feel 
free to ignore the patch.

i586-mingw32msvc-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I./../gl 
-I./../gl -I./../lib/includes -I./../lib/includes 
-I./../libdane/includes -I./../extra/includes -I../src/libopts 
-I/root/src/gnutls/gnutls-3.1.26/../lib_win32/include   -O2 -MT cli.o 
-MD -MP -MF .deps/cli.Tpo -c -o cli.o cli.c
cli.c: In function 'main':
cli.c:844:20: error: storage size of 'new_action' isn't known
    struct sigaction new_action, old_action;

The mingw32 compiler does not define struct sigaction and sigaction() in 
<signal.h>. In cli.c, the uses are under #ifndef _WIN32 guards, but not 
the definition. The second patch fixes that.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gnutls_fix_win32_cli_sigaction.patch
Type: text/x-patch
Size: 450 bytes
Desc: gnutls_fix_win32_cli_sigaction.patch
URL: </pipermail/attachments/20140916/7c5935a4/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gnutls_update_libopts_to_5.18.3.patch
Type: text/x-patch
Size: 78531 bytes
Desc: gnutls_update_libopts_to_5.18.3.patch
URL: </pipermail/attachments/20140916/7c5935a4/attachment-0003.bin>

More information about the Gnutls-devel mailing list