Dave Chinner wrote:
> On Mon, May 27, 2013 at 08:44:49AM +1000, Dave Chinner wrote:
>> On Sun, May 26, 2013 at 12:29:11AM +0800, Zhi Yong Wu wrote:
>> > HI,
>> > Did anyone hit this issue?
>> > [root@f15 xfsprogs]# make
>> > Building include
>> > Building libxfs
>> > [TEST] CRC32
>> > In file included from ../include/libxfs.h:584:0,
>> > from crc32.c:36:
>> > ../include/xfs/xfs_ialloc.h:75:2: error: unknown type name ?umode_t?
>> > gmake: *** [crc32selftest] Error 1
>> > gmake: *** [libxfs] Error 2
>> > make: *** [default] Error 2
>> Install the latest kernel headers package for your distro.
> Actually, on debian it's part of a libc-dev package:
> $ grep -r umode /usr/include |head -1
> /usr/include/asm-generic/types.h:typedef unsigned short umode_t
> $ apt-file search /usr/include/asm-generic/types.h
> linux-libc-dev: /usr/include/asm-generic/types.h
This won't work on recent kernels. Recent kernels export sanitized headers -
it's called UAPI .
>From irc conversation:
00:07 < arekm> anyway current kernels export uapi headers (aka user space api
https://lwn.net/Articles/507794/) and these don't export things like umode_t -
00:10 < bpm> arekm, linux/types.h has it on 3.10
00:10 < arekm> bpm: yes but this is not userspace installed header. it's kernel
00:11 < arekm> bpm: linux-*/include/uapi/asm-generic/types.h is the one being
installed for userspace
Arkadiusz Miśkiewicz, arekm / maven.pl