Messages in this thread | | | Date | Sat, 23 Mar 1996 04:28:59 +0000 (GMT) | From | Chris Evans <> |
| |
I've having slight trouble compiling the latest quota utilities, 1.51, under linux-1.3.77.
Extract:
cc -O6 -fexpensive-optimizations -fstrength-reduce -c quotacheck.c -o quotacheck.o In file included from /usr/include/linux/quota.h:73, from quotacheck.c:27: /usr/include/linux/mount.h:15: parse error before `kdev_t' /usr/include/linux/mount.h:15: warning: no semicolon at end of struct or union /usr/include/linux/mount.h:25: parse error before `}' /usr/include/linux/mount.h:27: parse error before `dev' quotacheck.c: In function `main': quotacheck.c:246: `MNTOPT_NOQUOTA' undeclared (first use this function) quotacheck.c:246: (Each undeclared identifier is reported only once quotacheck.c:246: for each function it appears in.) /usr/include/linux/mount.h: At top level: /usr/include/linux/mount.h:19: storage size of `mnt_sem' isn't known make: *** [quotacheck.o] Error 1
A parse error occurring in a kernel .h file? Sounds unpleasant to me. Especially when the file appears file (see below).
Note that I can easily solve the MNTOPT_NOQUOTA undeclared problem by using a mntent.h file from a newer libc (I'm on 5.0.9, just re-installed the system), or alternately using the mntent.h file coming with the package itself.
So can anyone help me get the quota utilities to compile? I've got some old binaries lying around but I beleive they are the buggy ones where quotacheck incorrectly calculates usage for some users.
Any help appreciated.
Cheers, -- Chris
Extract from /usr/src/linux/include/linux/mount.h
struct vfsmount { kdev_t mnt_dev; /* Device this applies to */ char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */ char *mnt_dirname; /* Name of directory mounted on */ unsigned int mnt_flags; /* Flags of this device */ struct semaphore mnt_sem; /* lock device while I/O in progress */ struct super_block *mnt_sb; /* pointer to superblock */ struct file *mnt_quotas[MAXQUOTAS]; /* fp's to quotafiles */ time_t mnt_iexp[MAXQUOTAS]; /* expiretime for inodes */ time_t mnt_bexp[MAXQUOTAS]; /* expiretime for blocks */ struct vfsmount *mnt_next; /* pointer to next in linkedlist */ };
>> PGP key available on request << >>Presence in pub available on request<<
| |