Hi Ruth and John, > Also, can you try compiling a very simple "hello world" program, > like: > > #include <stdio.h> > > void main (void) > { > printf ("hello world\n"); > }
When you use Gnulib, you need to add #include <config.h> before any other #includes. See https://www.gnu.org/software/gnulib/manual/html_node/Source-changes.html But this is not the root of the problem, since the original report is about compiling fopen.c: > depbase=`echo fopen.lo | sed > 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ > /bin/sh ../libtool --tag=CC --mode=compile gcc > -std=gnu11 -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -g -O2 -MT fopen.lo -MD > -MP -MF $depbase.Tpo -c -o fopen.lo fopen.c &&\ > mv -f $depbase.Tpo $depbase.Plo > libtool: compile: gcc -std=gnu11 -DHAVE_CONFIG_H > -DEXEEXT=\"\" -I. -I.. -g -O2 -MT fopen.lo -MD -MP -MF .deps/fopen.Tpo -c > fopen.c -fPIC -DPIC -o .libs/fopen.o > In file included from ./stdio.h:33:0, > from fopen.c:26: > /usr/include/stdio.h:48:1: error: expected ???=???, > ???,???, ???;???, ???asm??? or ???__attribute__??? before ???typedef??? > typedef struct _IO_FILE FILE; > ^ Here you can do three things: 1) Make sure it's not caused by old left-over files. That is, do "make distclean" before re-running ".../configure ...; make". It is a well-known flaw of the GNU build system that you can get horrible build failures if you have not done "make distclean" before configuring. 2.a) You can look at the preprocessed source code gcc -std=gnu11 -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -g -O2 -E fopen.c -fPIC -DPIC > i.c and spot the cause. 2.b) If you want us Gnulib developers to look at it, please state a "how to reproduce", that typically includes - a tarball to unpack, - tell us on which platform and distro, - what options and environment variables you passed to 'configure', - also attach the 'configure' output, config.log, and config.status. Then we have a reasonable chance to understand the problem. Bruno