[gnutls-devel] Build failure for GnuTLS 3.3.7

Marius Schamschula lists at schamschula.com
Mon Aug 25 01:24:01 CEST 2014


I’m the maintainer of the MacPorts port of GnuTLS. I updated the Portfile to the current version this afternoon. The build went smoothly on my OS X 10.9.4 system, but the buildbots failed to build GnuTLS 3.3.7:

The problem seems to be a missing stdnoreturn.h header file in src/libopts/autoopts.h:

Making all in libopts
make[4]: Entering directory `/opt/local/var/macports/build/_opt_mports_dports_devel_gnutls/gnutls/work/gnutls-3.3.7/src/libopts'
/bin/sh ../../libtool  --tag=CC   --mode=compile /usr/bin/clang -DHAVE_CONFIG_H -I. -I../..  -I../.. -I/opt/local/include  -pipe -Os -arch x86_64 -MT libopts_la-libopts.lo -MD -MP -MF .deps/libopts_la-libopts.Tpo -c -o libopts_la-libopts.lo `test -f 'libopts.c' || echo './'`libopts.c
libtool: compile:  /usr/bin/clang -DHAVE_CONFIG_H -I. -I../.. -I../.. -I/opt/local/include -pipe -Os -arch x86_64 -MT libopts_la-libopts.lo -MD -MP -MF .deps/libopts_la-libopts.Tpo -c libopts.c  -fno-common -DPIC -o .libs/libopts_la-libopts.o
In file included from libopts.c:12:
./autoopts.h:35:10: fatal error: 'stdnoreturn.h' file not found
#include <stdnoreturn.h>
1 error generated.
make[4]: *** [libopts_la-libopts.lo] Error 1

The file seems to be part of libopts, the problem seems to have been introduced in version 3.3.7. stdnoreturn.h is part of the next C standard, and seems to be unavailable on older systems. Upstream commit that added the change was

commit 3d1a66d4f2716c72b146c6ec1feb2d886e2ef3b3
Author: Nikos Mavrogiannopoulos <nmav at gnutls.org>
Date:   Tue Jul 29 22:21:36 2014 +0200

    updated to lib opts 5.18.3

Is there a workaround for older systems?

Marius Schamschula

More information about the Gnutls-devel mailing list