Problem on a machine with sys/sysmacros.h
Benjamin Réveillé
benjamin.reveille@gmail.com
Wed Feb 21 14:24:00 GMT 2007
Hello,
I'm encountering a compilation (or rather preprocessing) problem with
the latest cvs gfortran/gcc
>> gfortran -v
Using built-in specs.
Target: i386-pc-linux-gnu
Configured with: /home/fxcoudert/gfortran_nightbuild/trunk/configure
--prefix=/home/fxcoudert/gfortran_nightbuild/irun-20070221
--enable-languages=c,fortran --build=i386-pc-linux-gnu
--enable-checking=release
--with-gmp=/home/fxcoudert/gfortran_nightbuild/software
Thread model: posix
gcc version 4.3.0 20070221 (experimental)
************************************************************************
* Compiling ArrStr.o from ../ArrStr.c
gcc -c PB.c
In file included from /usr/include/sys/types.h:219,
from /usr/include/stdlib.h:416,
from PB.c:28:
/home/irsrvhome1/R10/reveillb/usr/local/gfortran/irun/bin/../lib/gcc/i386-pc-linux-gnu/4.3.0/include/sys/sysmacros.h:67:
error: expected ')' before '(' token
/home/irsrvhome1/R10/reveillb/usr/local/gfortran/irun/bin/../lib/gcc/i386-pc-linux-gnu/4.3.0/include/sys/sysmacros.h:77:
error: expected ')' before '(' token
/home/irsrvhome1/R10/reveillb/usr/local/gfortran/irun/bin/../lib/gcc/i386-pc-linux-gnu/4.3.0/include/sys/sysmacros.h:87:
error: expected ')' before '(' token
make[4]: *** [ArrStr.o] Error 1
The machine that has this problem is:
>> uname -a
Linux irlin812 2.4.21-27.0.1.TLsmp #1 SMP Thu Dec 23 21:55:16 EST 2004
i686 athlon i386 GNU/Linux
As extra info, on the following machine I do not have the problem:
>> uname -a
Linux PIV 2.6.19-gentoo-r5 #3 PREEMPT Tue Feb 13 00:10:12 CET 2007
i686 Intel(R) Pentium(R) 4 CPU 2.66GHz GenuineIntel GNU/Linux
Does anyone have an idea ?
Sorry for posting @ fortran, but I found this compiling our 98%
Fortran which uses 2% C. And the C part fails [not the fortran part
because you (fortran developers) have done a really great job :)]. If
there is a better list to send it to, I will be more than happy to
accept any redirection.
Thanks for your help.
Benjamin
P.S.
/usr/include/sys/types.h:219 looks like this (full #if block included):
#ifdef __USE_BSD
/* In BSD <sys/types.h> is expected to define BYTE_ORDER. */
# include <endian.h>
/* It also defines `fd_set' and the FD_* macros for `select'. */
# include <sys/select.h>
/* BSD defines these symbols, so we follow. */
# include <sys/sysmacros.h> <----------------------- thisis line 219
#endif /* Use BSD. */
More information about the Fortran
mailing list