On OS X systems, the compilation of e2fsprogs fails at subst.c due to a
missing sys/stat.h include:
    subst.c:333:14: error: variable has incomplete type 'struct stat'
            struct stat stbuf;
                        ^
    subst.c:333:9: note: forward declaration of 'struct stat'
            struct stat stbuf;
                   ^
    subst.c:392:8: warning: implicit declaration of function 'fstat' is invalid in C99
          [-Wimplicit-function-declaration]
                            if (fstat(fd, &stbuf) == 0) {
                                ^
    subst.c:438:12: warning: implicit declaration of function 'fchmod' is invalid in C99
          [-Wimplicit-function-declaration]
                                    (void) fchmod(ofd, 0444);
                                           ^
    2 warnings and 1 error generated.
    make[3]: *** [subst.o] Error 1
Declare the nescessary HAVE_SYS_STAT_H macro to include the required header in
order to avoid the undeclared stat structure.
Tested-By: David Thornley <david.thornley@touchstargroup.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
		
	
			
		
			
				
	
	
		
			11 lines
		
	
	
		
			180 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			11 lines
		
	
	
		
			180 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/util/subst.c
 | |
| +++ b/util/subst.c
 | |
| @@ -9,6 +9,7 @@
 | |
|  #include "config.h"
 | |
|  #else
 | |
|  #define HAVE_SYS_TIME_H
 | |
| +#define HAVE_SYS_STAT_H
 | |
|  #endif
 | |
|  #include <stdio.h>
 | |
|  #include <errno.h>
 |