hi,
[cc: Jan so he knows about this issue, cc: linux-xfs so anyone else
coming across this powerpc build issue will find some answers here]
On Thu, Aug 09, 2001 at 11:06:42AM +0100, Juer Lee wrote:
> Nathan,
>
> Thanks.
> I downloaded quota-tools-3.01-pre8 two weeks ago. But I failed compiling
> it on my Suse Linux7.1 PPC.
> ...
> Do I need some other package to compile it? It seemed that my system is
> lack of some header file.
>
> When compiling :
>
> cc -DBSD_BEHAVIOUR -DRPC_SETQUOTA -DRPC -DALT_FORMAT -g -O2
> -DEXT2_DIRECT -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -DHOSTS_ACCESS
> -DQUOTA_VERSION=\"3.01\" -c -o quotacheck.o quotacheck.c
> quotacheck.c:180: parse error before `umode_t'
> quotacheck.c: In function `add_to_quota':
> quotacheck.c:186: `type' undeclared (first use in this function)
> quotacheck.c:186: (Each undeclared identifier is reported only once
> quotacheck.c:186: for each function it appears in.)
> quotacheck.c:187: `i_uid' undeclared (first use in this function)
> quotacheck.c:189: `i_gid' undeclared (first use in this function)
> quotacheck.c:194: `i_nlink' undeclared (first use in this function)
> quotacheck.c:195: `i_num' undeclared (first use in this function)
> quotacheck.c:198: `i_space' undeclared (first use in this function)
> quotacheck.c:183: warning: `wanted' might be used uninitialized in this
> function
>
Seems there is some subtle differences between the ia32 headers
and the ppc ones - umode_t should come from <asm/types.h> which
comes in via some other header, probably <sys/types.h> I would
guess.
Jan, have you come across this powerpc build issue before?
Hmmm... from a quick poke around in the kernel source, I see that
on powerpc, the linux/include/asm-ppc/types.h explicitly does not
export umode_t - it is hidden with a ``#ifdef __KERNEL__'' macro.
Perhaps the right fix is just to change umode_t to mode_t? That
will at least fix your immediate build problem. Since quotacheck
is a no-op for XFS, I haven't actually delved into this chunk of
code too deeply - Jan will know the correct solution here though.
cheers.
--
Nathan
|