SUMMARY: Re: Compile error V0.91.1: gsl_sf_exp_e redefined
Uwe Richter
ur at minet.uni-jena.de
Thu Jun 10 16:19:58 CEST 2004
Hello again,
different have answered kindly and asked, please let me response in on
posting only.
For short:
V0.91.1 now successfully compiled and classified mails. Thanks!!
Things to remember:
- OS is:
$ sizer -v # Compaq Tru64 UNIX V5.1 (Rev. 732)
- running on:
$ sizer -c # cpu "DEC6600"
# well, in real it is an AlphaServer DS20E
- C compiler is:
$ cc -V # Compaq C V6.3-027 on Compaq Tru64 UNIX V5.1 (Rev. 732)
# Compiler Driver V6.3-026 (sys) cc Driver
The system's native cc produces much more faster code than gcc -
so for "primary service binaries" gcc is no option for us.
- Berkeley DB was db-4.2.52 built into separate dir to get included with
--with-libdb-prefix with configure
- bogofilter version:
0.91.1 with patches received from
Matthias Andree <matthias.andree at gmx.de>
(see attach check-extern_inline.diff)
Thanks!
- configure and make (install) did well
- $ make check # (see attach make_checl.log)
failed for:
- t.u_fpe: ./t.u_fpe[7]: 498301 Floating exception
maybe as Alpha is little endian
- t.multiple.wordlists: ?
- t.MH: ?
- t.maildir: ?
scipped:
- t.valgrind: ?
- tested bogofilter with no difficulties so far; now trying to use it
as Sendmail milter to sort spam with procmail MDA ...
> On Wed, 9 Jun 2004 15:55:08 +0200 (CEST)
> Uwe Richter wrote:
>
>> while making bogofilter-0.91.1 with successfully built
>> db-4.2.52 under Tru64-UNIX with it's native (non GNU) cc I get a
>> cc: Error: ../gsl/specfunc/exp.c, line 108: This declaration contains
>> a redefinition of "gsl_sf_exp_e". The previous declaration is at line
>> number 45 in file ../gsl/gsl_sf_exp.h. (redef)
>> int gsl_sf_exp_e(const double x, gsl_sf_result * result)
>> ----^
>> Configure did
>> ...
>> checking for gsl-config... no
>> checking for GSL - version >= 1.4... no
>> checking for gsl-config... (cached) no
>> checking for GSL - version >= 1.0... no
>> so i think the "internal GSL functions" are used.
>>
[...]
> Date: Wed, 9 Jun 2004 10:16:32 -0400
> From: David Relson <relson at osagesoftware.com>
>
> I'm not familiar with the Tru64-UNIX environment, but I'll see if I can
> help.
>
> Have you built bogofilter with Tru64-UNIX before? What version of
> bogofilter?
No, not successfully. make'ing Bogofilter v0.17.5 showed exact the same
effect.
> It sounds like a typedef or #define symbol may be changing after exp.h
> is read (and the function prototype is given) and before exp.c is
> compiled (where the function declaration appears). Have you tried
> generating preprocessor output to see what the expanded prototype and
> declaration _really_ are?
Hmm, I saw "HIDE_INLINE_STATIC" beeing ifndef'ed around
were gsl_sf_exp_e was defined in ./gsl/specfunc/exp.c and tried
configure'ing with CFLAGS="-DHIDE_INLINE_STATIC". But this led to
libbf_gsl.a(libbf_gsl_a-gamma_inc.o): gsl_pow_2: multiply defined
... 137 times up to ...
libbf_gsl.a(libbf_gsl_a-elementary.o): GSL_MIN_LDBL: multiply defined
and failed while make'ing.
> Date: Wed, 9 Jun 2004 20:53:51 +0200
> From: Matthias Andree <matthias.andree at gmx.de>
[...]
> To sanity check cc, create two files, try.h and try.c:
>
> try.h:
> int f(int a);
>
> try.c:
> #include "try.h"
> #include <stdio.h>
> int f(int a) { return a*a; }
> int main() { printf("%d\n", f(42)); return 0; }
>
> Compiling try.c (cc -o try try.c) should work, and running ./try should
> print 1764.
This worked without errors for the system's cc mentioned above.
Please let me know if further things are to be tested for this HW/OS/cc
combination.
Many thanks to all!
Best regards
Uwe
--
Uwe Richter, Jena University, Mathematics & Computer Science
Ernst-Abbe-Platz 2, Room#3418, D-07740 Jena, Germany
http://www.minet.uni-jena.de/~ur/
-------------- next part --------------
Index: configure.ac
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/configure.ac,v
retrieving revision 1.272
diff -u -c -p -r1.272 configure.ac
*** configure.ac 4 Jun 2004 15:30:06 -0000 1.272
--- configure.ac 9 Jun 2004 19:53:00 -0000
*************** if test "$ac_cv_c_inline" != no ; then
*** 26,31 ****
--- 26,50 ----
AC_SUBST(HAVE_INLINE)
fi
+ dnl Check for "extern inline", using a modified version
+ dnl of the test for AC_C_INLINE from acspecific.mt.
+ dnl
+ dnl Imported from the GSL 1.4 documentation (section "Autoconf Macros")
+ dnl and modified to define HAVE_EXTERN_INLINE.
+ AC_CACHE_CHECK([for extern inline], ac_cv_c_extern_inline,
+ [ac_cv_c_extern_inline=no
+ AC_TRY_COMPILE([extern $ac_cv_c_inline double foo(double x);
+ extern $ac_cv_c_inline double foo(double x) { return x+1.0; };
+ double foo (double x) { return x + 1.0; };],
+ [ foo(1.0) ],
+ [ac_cv_c_extern_inline="yes"])
+ ])
+
+ if test "$ac_cv_c_extern_inline" != no ; then
+ AC_DEFINE(HAVE_EXTERN_INLINE,1,define to 1 if your compiler supports extern inline storage class)
+ AC_SUBST(HAVE_EXTERN_INLINE)
+ fi
+
dnl Check for extension
AC_EXEEXT
Index: gsl/README.bogofilter
===================================================================
RCS file: gsl/README.bogofilter
diff -N gsl/README.bogofilter
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- gsl/README.bogofilter 9 Jun 2004 19:53:01 -0000
***************
*** 0 ****
--- 1,9 ----
+ README.bogofilter -- (C) 2004 by Matthias Andree, GNU GPL v2.
+ ------------------------------------------------------------------------
+ This is a stripped-down import of the GNU Scientific Library v1.4.
+ This GSL distribution has been modified:
+
+ 1. functions unneeded for bogofilter have been dropped
+ 2. all HAVE_INLINE have been replaced by HAVE_EXTERN_INLINE.
+ ------------------------------------------------------------------------
+ END of README.bogofilter
Index: gsl/gsl_math.h
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/gsl/gsl_math.h,v
retrieving revision 1.1
diff -u -c -p -r1.1 gsl_math.h
*** gsl/gsl_math.h 25 Sep 2003 01:13:12 -0000 1.1
--- gsl/gsl_math.h 9 Jun 2004 19:53:01 -0000
*************** double gsl_max (double a, double b);
*** 127,133 ****
double gsl_min (double a, double b);
/* inline-friendly strongly typed versions */
! #if HAVE_INLINE
extern inline int GSL_MAX_INT (int a, int b);
extern inline int GSL_MIN_INT (int a, int b);
--- 127,133 ----
double gsl_min (double a, double b);
/* inline-friendly strongly typed versions */
! #if HAVE_EXTERN_INLINE
extern inline int GSL_MAX_INT (int a, int b);
extern inline int GSL_MIN_INT (int a, int b);
*************** GSL_MIN_LDBL (long double a, long double
*** 178,184 ****
#define GSL_MIN_DBL(a,b) GSL_MIN(a,b)
#define GSL_MAX_LDBL(a,b) GSL_MAX(a,b)
#define GSL_MIN_LDBL(a,b) GSL_MIN(a,b)
! #endif /* HAVE_INLINE */
/* Definition of an arbitrary function with parameters */
--- 178,184 ----
#define GSL_MIN_DBL(a,b) GSL_MIN(a,b)
#define GSL_MAX_LDBL(a,b) GSL_MAX(a,b)
#define GSL_MIN_LDBL(a,b) GSL_MIN(a,b)
! #endif /* HAVE_EXTERN_INLINE */
/* Definition of an arbitrary function with parameters */
Index: gsl/gsl_pow_int.h
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/gsl/gsl_pow_int.h,v
retrieving revision 1.1
diff -u -c -p -r1.1 gsl_pow_int.h
*** gsl/gsl_pow_int.h 25 Sep 2003 01:13:12 -0000 1.1
--- gsl/gsl_pow_int.h 9 Jun 2004 19:53:01 -0000
***************
*** 32,38 ****
__BEGIN_DECLS
! #if HAVE_INLINE
extern inline double gsl_pow_2(const double x);
extern inline double gsl_pow_3(const double x);
extern inline double gsl_pow_4(const double x);
--- 32,38 ----
__BEGIN_DECLS
! #if HAVE_EXTERN_INLINE
extern inline double gsl_pow_2(const double x);
extern inline double gsl_pow_3(const double x);
extern inline double gsl_pow_4(const double x);
Index: gsl/gsl_sf_exp.h
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/gsl/gsl_sf_exp.h,v
retrieving revision 1.1
diff -u -c -p -r1.1 gsl_sf_exp.h
*** gsl/gsl_sf_exp.h 25 Sep 2003 01:13:12 -0000 1.1
--- gsl/gsl_sf_exp.h 9 Jun 2004 19:53:01 -0000
*************** int gsl_sf_exp_mult_err_e10_e(const doub
*** 130,136 ****
__END_DECLS
! #if HAVE_INLINE
#include <gsl/gsl_math.h>
#include <gsl/gsl_errno.h>
--- 130,136 ----
__END_DECLS
! #if HAVE_EXTERN_INLINE
#include <gsl/gsl_math.h>
#include <gsl/gsl_errno.h>
*************** int gsl_sf_exp_e(const double x, gsl_sf_
*** 158,164 ****
__END_DECLS
! #endif /* HAVE_INLINE */
#endif /* __GSL_SF_EXP_H__ */
--- 158,164 ----
__END_DECLS
! #endif /* HAVE_EXTERN_INLINE */
#endif /* __GSL_SF_EXP_H__ */
Index: gsl/gsl_sf_log.h
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/gsl/gsl_sf_log.h,v
retrieving revision 1.1
diff -u -c -p -r1.1 gsl_sf_log.h
*** gsl/gsl_sf_log.h 25 Sep 2003 01:13:12 -0000 1.1
--- gsl/gsl_sf_log.h 9 Jun 2004 19:53:01 -0000
*************** int gsl_sf_log_1plusx_mx_e(const double
*** 78,84 ****
double gsl_sf_log_1plusx_mx(const double x);
! #if HAVE_INLINE
extern inline
int
gsl_sf_log_e(const double x, gsl_sf_result * result)
--- 78,84 ----
double gsl_sf_log_1plusx_mx(const double x);
! #if HAVE_EXTERN_INLINE
extern inline
int
gsl_sf_log_e(const double x, gsl_sf_result * result)
*************** gsl_sf_log_abs_e(const double x, gsl_sf_
*** 113,119 ****
return GSL_SUCCESS;
}
}
! #endif /* HAVE_INLINE */
__END_DECLS
--- 113,119 ----
return GSL_SUCCESS;
}
}
! #endif /* HAVE_EXTERN_INLINE */
__END_DECLS
-------------- next part --------------
No suffix list.
Making check in trio
No suffix list.
Making check in src
make check-recursive
Making check in .
make debugtest configtest wordhash find_home.test bogowordfreq fgetsl.test
`debugtest' is up to date.
`configtest' is up to date.
`wordhash' is up to date.
`find_home.test' is up to date.
`bogowordfreq' is up to date.
`fgetsl.test' is up to date.
make check-TESTS
Making check in tests
make check-am
make dehex spam_header_name dumbhead deqp deb64 escnp abortme u_fpe wantcore
`dehex' is up to date.
`spam_header_name' is up to date.
`dumbhead' is up to date.
`deqp' is up to date.
`deb64' is up to date.
`escnp' is up to date.
`abortme' is up to date.
`u_fpe' is up to date.
`wantcore' is up to date.
make check-TESTS
./t._abort: valgrind: not found
PASS: t.abort
PASS: t.env
PASS: t.bogodir
./t.u_fpe[7]: 498301 Floating exception(coredump)
>>> Using core file "./core".
././printcore: gdb: not found
Problem with GDB program "gdb"
FAIL: t.u_fpe
PASS: t.ignore_spam_header
PASS: t.nullstatsprefix
PASS: t.integrity
PASS: t.integrity2
PASS: t.integrity3
PASS: t.passthrough-hb
PASS: t.escaped.html
PASS: t.escaped.url
PASS: t.split
PASS: t.parsing
PASS: t.lexer
PASS: t.lexer.mbx
PASS: t.folded_rfc2047
PASS: t.dump.load
PASS: t.nonascii.replace
PASS: t.maint
PASS: t.robx
PASS: t.regtest
PASS: t.upgrade.subnet.prefix
3,6c3,6
< ignore.db: X-Bogosity: No, tests=bogofilter, spamicity=0.520000
< system.db: X-Bogosity: No, tests=bogofilter, spamicity=0.213025
< user.db: X-Bogosity: No, tests=bogofilter, spamicity=0.227378
< wordlist.db:X-Bogosity: No, tests=bogofilter, spamicity=0.246265
---
> ignore.db: X-Bogosity: No, tests=bogofilter, spamicity=0.520000, version=0.91.1
> system.db: X-Bogosity: No, tests=bogofilter, spamicity=0.213025, version=0.91.1
> user.db: X-Bogosity: No, tests=bogofilter, spamicity=0.227378, version=0.91.1
> wordlist.db:X-Bogosity: No, tests=bogofilter, spamicity=0.246265, version=0.91.1
11c11
< X-Bogosity: No, tests=bogofilter, spamicity=0.246543
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.246543, version=0.91.1
26c26
< X-Bogosity: No, tests=bogofilter, spamicity=0.346753
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.346753, version=0.91.1
41c41
< X-Bogosity: No, tests=bogofilter, spamicity=0.317310
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.317310, version=0.91.1
56c56
< X-Bogosity: No, tests=bogofilter, spamicity=0.267356
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.267356, version=0.91.1
75,78c75,78
< ignore.db: X-Bogosity: No, tests=bogofilter, spamicity=0.520000
< system.db: X-Bogosity: No, tests=bogofilter, spamicity=0.213025
< user.db: X-Bogosity: No, tests=bogofilter, spamicity=0.150631
< wordlist.db:X-Bogosity: No, tests=bogofilter, spamicity=0.246265
---
> ignore.db: X-Bogosity: No, tests=bogofilter, spamicity=0.520000, version=0.91.1
> system.db: X-Bogosity: No, tests=bogofilter, spamicity=0.213025, version=0.91.1
> user.db: X-Bogosity: No, tests=bogofilter, spamicity=0.150631, version=0.91.1
> wordlist.db:X-Bogosity: No, tests=bogofilter, spamicity=0.246265, version=0.91.1
83c83
< X-Bogosity: No, tests=bogofilter, spamicity=0.246543
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.246543, version=0.91.1
98c98
< X-Bogosity: No, tests=bogofilter, spamicity=0.346753
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.346753, version=0.91.1
113c113
< X-Bogosity: No, tests=bogofilter, spamicity=0.101546
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.101546, version=0.91.1
128c128
< X-Bogosity: No, tests=bogofilter, spamicity=0.105029
---
> X-Bogosity: No, tests=bogofilter, spamicity=0.105029, version=0.91.1
FAIL: t.multiple.wordlists
PASS: t.score1
PASS: t.score2
PASS: t.systest
PASS: t.grftest
PASS: t.bogoutil-hist
PASS: t.bulkmode
./t.MH[19]: 499084 Memory fault(coredump)
>>> Using core file "./checks.498853.20040610T135132/good/core".
././printcore: gdb: not found
Problem with GDB program "gdb"
FAIL: t.MH
./t.maildir[23]: 497749 Memory fault(coredump)
>>> Using core file "./checks.497971.20040610T135132/good/new/core".
././printcore: gdb: not found
Problem with GDB program "gdb"
FAIL: t.maildir
PASS: t.lock1
SKIP: t.valgrind
======================
4 of 33 tests failed
(1 tests were not run)
======================
*** Exit 1
Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
More information about the Bogofilter
mailing list