Package: libdb4.6 Version: 4.6.18-1 Severity: serious Hi,
bogofilter currently FTBFS on sparc becauses a configure test dies with
a bus error in libdb4.6. The test program is attached for reference.
The first error was:
Program terminated with signal 10, Bus error.
#0 0xf7d9b6fc in __env_alloc (infop=<value optimized out>,
len=264, retp=0xffec5888) at ../dist/../env/env_alloc.c:275
#1 0xf7da32e0 in __env_attach () from /usr/lib/libdb-4.6.so
#2 0xf7da052c in __env_open () from /usr/lib/libdb-4.6.so
#3 0x00010674 in main () at conftest.c:107
I then did this change:
< Clint> try changing env_alloc.c:66 to
< Clint> } ALLOC_ELEMENT __attribute__ ((aligned));
< Clint> and see if that helps
which resulted in:
#0 __env_alloc (infop=<value optimized out>, len=264, retp=0xffd6b6c8)
at ../dist/../env/env_alloc.c:280
280 elp->ulen = len;
And with this change:
< Clint> jcristau: dbinc/region.h:205, change size_t pad to uintmax_t
bogofilter built without error.
Cheers,
Julien
/* confdefs.h. */
#define PACKAGE_NAME "bogofilter"
#define PACKAGE_TARNAME "bogofilter"
#define PACKAGE_VERSION "1.1.5"
#define PACKAGE_STRING "bogofilter 1.1.5"
#define PACKAGE_BUGREPORT ""
#define PACKAGE "bogofilter"
#define VERSION "1.1.5"
#define HAVE_INLINE 1
#define HAVE_EXTERN_INLINE 1
#define _FILE_OFFSET_BITS 64
#define HAVE_LIBM 1
#define HAVE_DECL_GETOPT 1
#define HAVE_DECL_OPTRESET 0
#define HAVE_DECL_O_DSYNC 1
#define HAVE_DECL_O_SYNC 1
#define HAVE_DECL_O_FSYNC 0
#define __NO_CTYPE 1
#define SPAM_HEADER_NAME "X-Bogosity"
#define HAVE_ICONV 1
#define ICONV_CONST
#define ENABLE_UNICODE 1
#define DEFAULT_CHARSET "iso-8859-1"
#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_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE__BOOL 1
#define HAVE_STDBOOL_H 1
#define HAVE_DIRENT_H 1
#define TIME_WITH_SYS_TIME 1
#define HAVE_SYSLOG_H 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_FCNTL_H 1
#define HAVE_STRING_H 1
#define HAVE_STRINGS_H 1
#define HAVE_UNISTD_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDARG_H 1
#define HAVE_STDINT_H 1
#define HAVE_LIMITS_H 1
#define HAVE_FLOAT_H 1
#define RETSIGTYPE void
#define HAVE_SYS_SELECT_H 1
#define HAVE_SYS_SOCKET_H 1
#define SELECT_TYPE_ARG1 int
#define SELECT_TYPE_ARG234 (fd_set *)
#define SELECT_TYPE_ARG5 (struct timeval *)
#define PROTOTYPES 1
#define __PROTOTYPES 1
#define HAVE_UINT 1
#define HAVE_ULONG 1
#define HAVE_UINT32_T 1
#define HAVE_U_INT32_T 1
#define HAVE_INT32_T 1
#define HAVE_INT16_T 1
#define HAVE_U_INT16_T 1
#define HAVE_UINT16_T 1
#define HAVE_U_INT8_T 1
#define HAVE_SSIZE_T 1
#define HAVE_RLIM_T 1
#define SIZEOF_SHORT 2
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
#define SIZEOF_SIZE_T 4
#define HAVE_STDLIB_H 1
#define HAVE_UNISTD_H 1
#define HAVE_GETPAGESIZE 1
#define HAVE_MMAP 1
#define HAVE_VPRINTF 1
#define HAVE_STRCHR 1
#define HAVE_STRRCHR 1
#define HAVE_MEMCPY 1
#define HAVE_MEMMOVE 1
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
#define HAVE_GETOPT_LONG 1
#define HAVE_STRERROR 1
#define HAVE_STRTOUL 1
#define HAVE_DECL_DB_CREATE 1
/* end confdefs.h. */
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#include <db.h>
#include <stdio.h>
#include <stdlib.h>
#define TESTDIR "bfadtestdir"
#define barf(where, what) do { fprintf(stderr, "%s failed: %s\n", where, db_strerror(what)); exit(1); } while(0)
int
main ()
{
DB_ENV *e;
int r;
if ((r = db_env_create(&e, 0))) barf("db_env_create", r);
if ((r = e->open(e, TESTDIR, DB_INIT_LOG|DB_INIT_TXN|DB_INIT_MPOOL|DB_CREATE, 0664)))
barf("DB_ENV->open", r);
if ((r = e->close(e, 0)))
barf("DB_ENV->close", r);
if ((r = db_env_create(&e, 0))) barf("db_env_create", r);
if ((r = e->remove(e, TESTDIR, 0))) barf("DB_ENV->remove", r);
return 0;
;
return 0;
}
signature.asc
Description: Digital signature

