LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1310|回复: 5

/usr/include 下 没有linux/modue.h这个文件,我该怎么办呢?

[复制链接]
发表于 2006-11-15 22:49:54 | 显示全部楼层 |阅读模式
偶用的系统是FC6

需要编译模块
调用<linux/module.h>这个文件
看usr/include下没有

我发现/usr/src/kernels目录下有这个文件
复制到usr/include编译时报其它错误
大概就是module.h中还要include其它头文件

我该怎么办呢?
我发现FC3和RHEL4版本中都是有这个文件的
发表于 2006-11-15 23:23:41 | 显示全部楼层
yum install glibc-kernheaders
试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-16 20:40:50 | 显示全部楼层
Post by kiron
yum install glibc-kernheaders
试试

谢谢你的热心回复
已经试过了,么有那个包

看了一下FC6的Realease Notes发现
FC6已经不提供glibc-kernheaders这个包了,取而代之的是kernerl-headers这个包

不知道如果我需要继续用module.h这个文件我该怎么解决这个问题
回复 支持 反对

使用道具 举报

发表于 2006-11-16 21:41:11 | 显示全部楼层
在编译选项里将内核头文件的顶层目录加到其搜索路径中。

-I/usr/src/linux/include
回复 支持 反对

使用道具 举报

发表于 2006-11-17 01:06:28 | 显示全部楼层
既然换成了kernerl-headers
那就安装这个包啊。
yum install kernerl-headers
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-17 20:39:05 | 显示全部楼层
kernel-headers在FC6中默认是安装的

但是并没有modue,h这个文件

我指定路径也不行
gcc -c hello.c -l /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/
hello.c:2:26: error: linux/module.h: No such file or directory
[root@AquaSpace module]# gcc -c hello.c -I /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitops.h:9,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/thread_info.h:20,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/preempt.h:9,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/spinlock.h:49,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:10,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/bitops.h:244: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/spinlock.h:56,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:10,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:306: error: expected declaration specifiers or ‘...’ before ‘u8’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:306: error: expected declaration specifiers or ‘...’ before ‘u8’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:307: error: expected declaration specifiers or ‘...’ before ‘u16’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:307: error: expected declaration specifiers or ‘...’ before ‘u16’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:308: error: expected declaration specifiers or ‘...’ before ‘u32’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:308: error: expected declaration specifiers or ‘...’ before ‘u32’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h: In function ‘cmpxchg_386’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:315: error: too many arguments to function ‘cmpxchg_386_u8’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:317: error: too many arguments to function ‘cmpxchg_386_u16’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/system.h:319: error: too many arguments to function ‘cmpxchg_386_u32’
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/lockdep.h:12,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/spinlock_types.h:12,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/spinlock.h:78,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:10,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/list.h:902:2: warning: #warning "don't include kernel headers in userspace"
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:86,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/processor.h:22,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/atomic.h:5,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/spinlock.h:259,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:10,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_zero’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:131: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:131: error: (Each undeclared identifier is reported only once
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:131: error: for each function it appears in.)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:135: warning: incompatible implicit declaration of built-in function ‘memset’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_fill’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:144: warning: incompatible implicit declaration of built-in function ‘memset’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:146: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_copy’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:152: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:156: warning: incompatible implicit declaration of built-in function ‘memcpy’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_and’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:163: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_or’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:172: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_xor’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:181: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_andnot’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:190: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_complement’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:199: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: At top level:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:205: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bitmap_equal’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:214: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bitmap_intersects’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:223: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bitmap_subset’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:232: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bitmap_empty’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:240: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bitmap_full’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:248: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bitmap_weight’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_shift_right’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:258: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h: In function ‘bitmap_shift_left’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/bitmap.h:267: error: ‘BITS_PER_LONG’ undeclared (first use in this function)
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/processor.h:22,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/atomic.h:5,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/spinlock.h:259,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:10,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: At top level:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:88: error: expected specifier-qualifier-list before ‘DECLARE_BITMAP’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpu_set’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:94: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpu_clear’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:100: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_setall’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:106: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_clear’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:112: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpu_test_and_set’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:121: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_and’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:128: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:128: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:128: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_or’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:135: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:135: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:135: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_xor’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:142: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:142: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:142: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_andnot’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:150: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:150: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:150: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_complement’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:157: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:157: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_equal’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:164: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:164: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_intersects’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:171: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:171: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_subset’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:178: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:178: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_empty’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:184: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_full’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:190: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_weight’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:196: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_shift_right’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:204: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:204: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_shift_left’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:212: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:212: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpumask_scnprintf’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:273: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpumask_parse’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:281: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpulist_scnprintf’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:289: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpulist_parse’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:295: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpu_remap’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:303: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:303: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h: In function ‘__cpus_remap’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:311: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:311: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:311: error: ‘cpumask_t’ has no member named ‘bits’
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/cpumask.h:311: error: ‘cpumask_t’ has no member named ‘bits’
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/atomic.h:5,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/spinlock.h:259,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:10,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/processor.h: At top level:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/processor.h:80: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared here (not in a function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/processor.h:80: error: requested alignment is not a constant
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/processor.h:566: warning: ‘struct pt_regs’ declared inside parameter list
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/processor.h:566: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/local.h:4,
                 from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:20,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/percpu.h: In function ‘__alloc_percpu’:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/percpu.h:44: error: ‘GFP_KERNEL’ undeclared (first use in this function)
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/percpu.h:44: warning: initialization makes pointer from integer without a cast
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/percpu.h:46: warning: incompatible implicit declaration of built-in function ‘memset’
In file included from /usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:22,
                 from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/asm/module.h:65:2: error: #error unknown processor family
In file included from hello.c:2:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h: At top level:
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:49: error: field ‘attr’ has incomplete type
/usr/src/kernels/2.6.18-1.2849.fc6-i586/include/linux/module.h:60: error: field ‘kobj’ has incomplete type
[root@AquaSpace module]#
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表