Subject: pkg/25891: statfs vs. statvfs again: e2fsprogs
To: None <>
From: Andreas Wiese <>
List: pkgsrc-bugs
Date: 06/10/2004 16:17:10
>Number:         25891
>Category:       pkg
>Synopsis:       e2fsprogs don't build on NetBSD-current
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 10 14:21:00 UTC 2004
>Originator:     Andreas Wiese
>Release:        NetBSD 2.0F
Linux User Group Halberstadt
System: NetBSD schroeder.singeklub.invalid 2.0F NetBSD 2.0F (SCHROEDER) #5: Mon Jun 7 21:29:04 CEST 2004 root@schroeder.singeklub.invalid:/sys/arch/i386/compile/SCHROEDER i386
Architecture: i386
Machine: i386
The build of pkgsrc/sysutils/e2fsprogs aborts with

ismounted.c: In function `check_getmntinfo':
ismounted.c:201: warning: passing arg 1 of `getmntinfo' from incompatible pointe
r type
ismounted.c:212: error: dereferencing pointer to incomplete type
ismounted.c:221: error: increment of pointer to unknown structure
ismounted.c:221: error: arithmetic on pointer to an imcomplete type
ismounted.c:224: error: dereferencing pointer to incomplete type
*** Error code 1

make: stopped in /usr/pkgsrc/sysutils/e2fsprogs/work/e2fsprogs-1.32/lib/ext2fs
*** Error code 1

That's again caused by the replacing of statfs with statvfs in

Compile pkgsrc/sysutils/e2fsprogs on NetBSD-current.
The problem can be solved by replacing all occurences of `statfs' with
`statvfs', e.g. by including

#define statfs  statvfs

at the beginning of ${DISTDIR}/lib/ext2fs/ismounted.c.  For cosmetical
reasons you should probably include <sys/statvfs.h> explicitly there, too.