EA Games wrote: > I am using 2.6.21.5 kernel (gcc 4.3.2, ld 2.17.50.0.17*). I've tried > compiling the latest coreutils > that I downloaded from the official website and I keep getting the same > error message.
Thanks for the report. By the way... The kernel version is possibly less important than the libc version. And also the architecture. > mv unistd.h-t unistd.h > make all-am > make[3]: Entering directory `/mnt/lfs/tmp/coreutils-6.12/lib' > depbase=`echo set-mode-acl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ > gcc -std=gnu99 -I. -g -O2 -MT set-mode-acl.o -MD -MP -MF > $depbase.Tpo -c -o set-mode-acl.o set-mode-acl.c &&\ > mv -f $depbase.Tpo $depbase.Po > In file included from acl.h:20, > from set-mode-acl.c:22: > /usr/include/sys/types.h:52: error: two or more data types in declaration > specifiers On my system that line is a simple typedef. On your system it appears to be something else. Can you show us that line and some context for it? Because this is an interaction with system headers you will probably need to do some debugging. Obviously this is working for the developers on systems that they have access to and so isn't easy for them to debug. > In file included from gettext.h:169, > from acl-internal.h:49, > from set-mode-acl.c:24: > ./string.h:214: error: expected identifier or '(' before '__extension__' The way I debug those types of problems is to preprocess the file and to see what the macro processor expanded everything to before passing it to the compile phase. Take that compile line that failed and get so that you can recreate it from the command line. > gcc -std=gnu99 -I. -g -O2 -MT set-mode-acl.o -MD -MP -MF > $depbase.Tpo -c -o set-mode-acl.o set-mode-acl.c Then simplify it. Probably something like this: gcc -std=gnu99 -I. -g -E -o set-mode-acl.i -c set-mode-acl.c That will produce a file set-mode-acl.i which has all macros expanded. But it also has line number directives. I typically delete those in an editor. Something like this should work but everyone will have a favorite way to do these types of things. sed --in-place '/^# [[:digit:]]/d' set-mode-acl.i Then compile that file again. gcc -std=gnu99 -I. -g -o set-mode-acl.o -c set-mode-acl.i Of course that worked for me on my system. But you should see the same error you saw a moment ago. But now everything has been expanded in the file. What does that show? > Also during configure process I've noticed this message. > > configure: WARNING: sys/sysmacros.h: present but cannot be compiled > configure: WARNING: sys/sysmacros.h: check for missing prerequisite > headers? > configure: WARNING: sys/sysmacros.h: see the Autoconf documentation > configure: WARNING: sys/sysmacros.h: section "Present But Cannot Be > Compiled" > configure: WARNING: sys/sysmacros.h: proceeding with the preprocessor's > result > configure: WARNING: sys/sysmacros.h: in the future, the compiler will take > precedence > configure: WARNING: ## ------------------------------------ ## > configure: WARNING: ## Report this to bug-coreutils@gnu.org ## > configure: WARNING: ## ------------------------------------ ## > > Looks like there is a confusion with the data types <sys/types.h> file which > is followed by the parse error To me on first look it would appear to be a mismatch between gcc and the headers on your system. What architecture are you using? How were the gcc and library headers installed? Bob _______________________________________________ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils