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