Compile error V0.91.1: gsl_sf_exp_e redefined

Matthias Andree matthias.andree at gmx.de
Wed Jun 9 20:53:51 CEST 2004


On Wed, 09 Jun 2004, 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)
> ----^

"Interesting."

declaration from gsl_sf_exp.h (l. 45):
int gsl_sf_exp_e(const double x, gsl_sf_result * result);

definition in specfunc/exp.c (l. 108):
int gsl_sf_exp_e(const double x, gsl_sf_result * result)

These are identical, and hence are allowed.

This doesn't look right. Please try installing GCC and compiling with
GCC instead of cc.

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.



More information about the Bogofilter mailing list