Release: 1.2.2
Environment
AthlonXP 1800+ (about 1533 MHz), 256 MB RAM, Cygwin (don't know what version but it's quite recent) on Windows 98.
This might well be a Cygwin or autoconf bug rather than a GnuPG one.
Description
One of the test programs in the configure script (the one that tries to find sizeof(unsigned short)) causes a segmentation fault. I've attached the core dump (1034 B), and the relevant extract from config.log is below.
How To Repeat
Extract from config.log:
configure:10515: checking size of unsigned short
configure:10790: gcc -o conftest.exe -g -O2 conftest.c >&5
configure:10793: $? = 0
configure:10795: ./conftest.exe
./configure: line 1: 1633267 Segmentation fault (core dumped) ./conftest$ac_exeext
configure:10798: $? = 139
configure: program exited with status 139
configure: failed program was:
| #line 10750 "configure" | ||
| /* confdefs.h. */ | ||
| #define PACKAGE_NAME "gnupg" | ||
| #define PACKAGE_TARNAME "gnupg" | ||
| #define PACKAGE_VERSION "1.2.2" | ||
| #define PACKAGE_STRING "gnupg 1.2.2" | ||
| #define PACKAGE_BUGREPORT "bug-gnupg@gnu.org" | ||
| #define PACKAGE "gnupg" | ||
| #define VERSION "1.2.2" | ||
| #define PACKAGE "gnupg" | ||
| #define VERSION "1.2.2" | ||
| #define _GNU_SOURCE 1 | ||
| #define EGD_SOCKET_NAME "" | ||
| #define WITH_SYMBOL_UNDERSCORE 1 | ||
| #define PRINTABLE_OS_NAME "Cygwin" | ||
| #define NAME_OF_DEV_RANDOM "/dev/random" | ||
| #define NAME_OF_DEV_URANDOM "/dev/urandom" | ||
| #define STDC_HEADERS 1 | ||
| #define HAVE_SYS_TYPES_H 1 | ||
| #define HAVE_SYS_STAT_H 1 | ||
| #define HAVE_STDLIB_H 1 | ||
| #define HAVE_STRING_H 1 | ||
| #define HAVE_MEMORY_H 1 | ||
| #define HAVE_STRINGS_H 1 | ||
| #define HAVE_UNISTD_H 1 | ||
| #define HAVE_ALLOCA_H 1 | ||
| #define HAVE_ALLOCA 1 | ||
| #define HAVE_STDLIB_H 1 | ||
| #define HAVE_UNISTD_H 1 | ||
| #define HAVE_GETPAGESIZE 1 | ||
| #define INTDIV0_RAISES_SIGFPE 1 | ||
| #define HAVE_UNSIGNED_LONG_LONG 1 | ||
| #define uintmax_t unsigned long long | ||
| #define HAVE_ARGZ_H 1 | ||
| #define HAVE_LIMITS_H 1 | ||
| #define HAVE_LOCALE_H 1 | ||
| #define HAVE_MALLOC_H 1 | ||
| #define HAVE_STDDEF_H 1 | ||
| #define HAVE_STDLIB_H 1 | ||
| #define HAVE_STRING_H 1 | ||
| #define HAVE_UNISTD_H 1 | ||
| #define HAVE_SYS_PARAM_H 1 | ||
| #define HAVE_GETC_UNLOCKED 1 | ||
| #define HAVE_GETCWD 1 | ||
| #define HAVE_GETEGID 1 | ||
| #define HAVE_GETEUID 1 | ||
| #define HAVE_GETGID 1 | ||
| #define HAVE_GETUID 1 | ||
| #define HAVE_MUNMAP 1 | ||
| #define HAVE_PUTENV 1 | ||
| #define HAVE_SETENV 1 | ||
| #define HAVE_SETLOCALE 1 | ||
| #define HAVE_STRCASECMP 1 | ||
| #define HAVE_STRDUP 1 | ||
| #define HAVE_STRTOUL 1 | ||
| #define HAVE_LC_MESSAGES 1 | ||
| #define ENABLE_NLS 1 | ||
| #define HAVE_GETTEXT 1 | ||
| #define HAVE_DCGETTEXT 1 | ||
| #define HAVE_DLOPEN 1 | ||
| #define USE_DYNAMIC_LINKING 1 | ||
| #define HAVE_DL_DLOPEN 1 | ||
| #define STDC_HEADERS 1 | ||
| #define HAVE_UNISTD_H 1 | ||
| #define HAVE_LANGINFO_H 1 | ||
| #define HAVE_TERMIO_H 1 | ||
| #define HAVE_LOCALE_H 1 | ||
| #define RETSIGTYPE void | ||
| #define HAVE_DECL_SYS_SIGLIST 0 | ||
| #define LITTLE_ENDIAN_HOST 1 | ||
| #define HAVE_USHORT_TYPEDEF 1 | ||
| /* end confdefs.h. */ | ||
| #include <stdio.h> | ||
| #if HAVE_SYS_TYPES_H | ||
| # include <sys/types.h> | ||
| #endif | ||
| #if HAVE_SYS_STAT_H | ||
| # include <sys/stat.h> | ||
| #endif | ||
| #if STDC_HEADERS | ||
| # include <stdlib.h> | ||
| # include <stddef.h> | ||
| #else | ||
| # if HAVE_STDLIB_H | ||
| # include <stdlib.h> | ||
| # endif | ||
| #endif | ||
| #if HAVE_STRING_H | ||
| # if !STDC_HEADERS && HAVE_MEMORY_H | ||
| # include <memory.h> | ||
| # endif | ||
| # include <string.h> | ||
| #endif | ||
| #if HAVE_STRINGS_H | ||
| # include <strings.h> | ||
| #endif | ||
| #if HAVE_INTTYPES_H | ||
| # include <inttypes.h> | ||
| #else | ||
| # if HAVE_STDINT_H | ||
| # include <stdint.h> | ||
| # endif | ||
| #endif | ||
| #if HAVE_UNISTD_H | ||
| # include <unistd.h> | ||
| #endif | ||
| long longval () { return (long) (sizeof (unsigned short)); } | ||
| unsigned long ulongval () { return (long) (sizeof (unsigned short)); } | ||
| #include <stdio.h> | ||
| #include <stdlib.h> | ||
| int | ||
| main () | ||
| { | ||
| FILE *f = fopen ("conftest.val", "w"); | ||
| if (! f) | ||
| exit (1); | ||
| if (((long) (sizeof (unsigned short))) < 0) | ||
| { | ||
| long i = longval (); | ||
| if (i != ((long) (sizeof (unsigned short)))) | ||
| exit (1); | ||
| fprintf (f, "%ld\n", i); | ||
| } | ||
| else | ||
| { | ||
| unsigned long i = ulongval (); | ||
| if (i != ((long) (sizeof (unsigned short)))) | ||
| exit (1); | ||
| fprintf (f, "%lu\n", i); | ||
| } | ||
| exit (ferror (f) | fclose (f) != 0); | |
| ; | ||
| return 0; | ||
| } | ||
configure:10808: error: cannot compute sizeof (unsigned short), 77
See `config.log' for more details.
Fix
Unknown