Using the following C program: ---------CUT HERE---------- #include <stdio.h> #ifdef BUGTEST FILE *blah = stderr; #else FILE *blah; #endif main() { #ifndef BUGTEST blah = stderr; #endif fprintf(blah, "blah blah blah\n"); } ---------CUT HERE---------- Will yield: localhost: /tmp (wfp5p) > cc -DBUGTEST temp.c temp.c:4: initializer element is not constant localhost: /tmp (wfp5p) > c temp.c I'm not sure if this is the right way to fix it, but here's a fix: *** stdio.h.orig Tue Feb 16 20:23:22 1999 --- stdio.h Tue Feb 16 20:27:56 1999 *************** *** 115,120 **** --- 115,125 ---- extern FILE *stdout; /* Standard output stream. */ extern FILE *stderr; /* Standard error output stream. */ + #define stdin _IO_stdin + #define stdout _IO_stdout + #define stderr _IO_stderr + + /* Remove file FILENAME. */ extern int remove __P ((__const char *__filename));
Please check the FAQ that comes with the new glibc package (in /usr/doc/glibc-whatever/FAQ)