首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MODULE_LICENSE是定义的,但在Linux5.X内核中未被检测到

MODULE_LICENSE是定义的,但在Linux5.X内核中未被检测到
EN

Stack Overflow用户
提问于 2022-06-12 03:02:49
回答 1查看 312关注 0票数 0

我有一个包含多个对象的简单内核模块。当我编译它时,它会提示我缺少MODULE_LICENSE。它是在main.o中定义的,但编译器在某种程度上没有检测到:

代码语言:javascript
复制
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make[1]: Entering directory '/usr/src/kernels/5.14.0-105.el9.x86_64'
  CC [M]  /tmp/linux5-multi-files/util.o
  LD [M]  /tmp/linux5-multi-files/main.o
  MODPOST /tmp/linux5-multi-files/Module.symvers
ERROR: modpost: missing MODULE_LICENSE() in /tmp/linux5-multi-files/main.o
make[2]: *** [scripts/Makefile.modpost:150: /tmp/linux5-multi-files/Module.symvers] Error 1
make[2]: *** Deleting file '/tmp/linux5-multi-files/Module.symvers'
make[1]: *** [Makefile:1792: modules] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.14.0-105.el9.x86_64'
make: *** [Makefile:5: build] Error 2

在较旧的Linux (centos6-7)上,它工作得很好,但是在CentOS 8和CentOS 9上,它不再工作了。出什么问题了?我把所有文件都附上去了。

-附上所有档案--

Makefile

代码语言:javascript
复制
main-objs := util.o
obj-m += main.o

build:
    make -C /lib/modules/`uname -r`/build M=`pwd` modules

clean:
    make -C /lib/modules/`uname -r`/build M=`pwd` clean

main.c

代码语言:javascript
复制
#include "util.h"

static void __exit cleanup(void)
{
   
}

static int __init startup(void)
{
    test();
    return 0;
}

module_init(startup);
module_exit(cleanup);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Linux");

util.h

代码语言:javascript
复制
#ifndef UTIL_H
#define UTIL_H

#include <linux/module.h>
#include <linux/kernel.h>

void test(void);

#endif

util.c

代码语言:javascript
复制
#include "util.h"

void test()
{
    printk(KERN_INFO "whatever\n");
}
EN

回答 1

Stack Overflow用户

发布于 2022-06-12 06:35:09

为了进一步调试这个问题,我已经将-v添加到ccflags中,而main.c甚至没有在CentOS 8上编译!

到目前为止,看起来模块名不能与对象名称相同,所以我必须修改makefile如下所示:

代码语言:javascript
复制
xxx-objs := main.o util.o
obj-m += xxx.o

问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72589225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档