Ha, yes, that was it. I added -std=gnu89 to my CFLAGS, and it worked. Thanks. On Mon, Apr 9, 2018 at 5:00 PM, Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote: > On 9 April 2018 at 22:40, Jack Stalnaker wrote: > > I am trying to compile a library I have successfully compiled in the past > > using gcc-4.8.2. The library (graphviz) is no longer compiling under > > gcc-7.3.0. I have contacted the library mailing list as well, but I'm not > > sure which side the error originates from. > > > > One example error message looks like this: > > > > ../../lib/expr/.libs/libexpr_C.a(sfclose.o): In function `fstat': > > /mygcc/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include- > fixed/sys/stat.h:509: > > multiple definition of `fstat' > > ../../lib/expr/.libs/libexpr_C.a(strton.o):/mygcc/gcc-7.3. > 0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include-fixed/sys/stat.h:509: > > first defined here > > > > There are many of these for other object files, but all say that fstat is > > multiply defined. > > > > Does this look familiar to anyone? Is there a workaround or something > like > > that? > > It could be caused by the change in GCC 5 to use -std=gnu99 by > default, instead of -std=gnu89. That changes the meaning of 'inline' > from the GNU extension to the standard C99 semantics. > > What is at line 509 of > /mygcc/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include- > fixed/sys/stat.h > ? >