Hari Kodungallur <hari.mailinglists@xxxxxxxxx> writes: > I built gcc 4.4.2 from source on a CentOS 32-bit VM. The build went > through without much issues. > But later when I build our project, I get this error: > > /opt/gcc-4.4.2/bin/../lib/gcc/i686-pc-linux-gnu/4.4.2/include-fixed/sys/stat.h:317: > warning: inline function âlstat64â declared but never defined > /opt/gcc-4.4.2/bin/../lib/gcc/i686-pc-linux-gnu/4.4.2/include-fixed/sys/stat.h:286: > warning: inline function âfstatat64â declared but never defined > /opt/gcc-4.4.2/bin/../lib/gcc/i686-pc-linux-gnu/4.4.2/include-fixed/sys/stat.h:255: > warning: inline function âfstat64â declared but never defined > /opt/gcc-4.4.2/bin/../lib/gcc/i686-pc-linux-gnu/4.4.2/include-fixed/sys/stat.h:250: > warning: inline function âstat64â declared but never defined > > > Looking into the stat.h in include-fixed/sys, it looks like gcc fixes > the stat.h to convert these functions to "extern inline int" from > being "extern int". > > Obviously I am either missing some libraries on the system, or I am > passing the wrong configure options either while building gcc or while > building my project. This sounds like a fixincludes problem. I don't see it reported, though. This must have something to do with the patches for "extern inline". The meaning of "extern inline" changes in C99. glibc adapted by using __extern_inline, and gcc uses fixincludes for older versions of glibc. You presumably have an older version. I don't see why it would change to "extern int", though. As far as I can tell, it should change to "__inline__ int". It expects to see "extern __inline__ int" on the function definition. It sounds like your versions of glibc is using that on a declaration, not a definition, which sounds strange to me. Can you send the complete declaration/definition of, say, lstat64 from <sys/stat.h> and from the fixed sys/stat.h? Ian