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 ?