首页 程序笔记 编译Linux内核模块时报:WARNING: Symbol version dump "Module.symvers" is missing.

编译Linux内核模块时报:WARNING: Symbol version dump "Module.symvers" is missing.

问题描述

我在OpenSUSE Linux中运行make构建一个自定义驱动程序,用于与一些外部设备进行通讯,Makefile在其他Linux系统中make都正常,但就在Open SUSE中编译报警告:WARNING: Symbol version dump “Module.symvers” is missing. 和错误:/bin/sh: scripts/mod/modpost: No such file or directory,详细如下:

~/p/func  sudo make -k
make -C /lib/modules/uname -r/build M=/home/name/programs/func/driver
make[1]: Entering directory /usr/src/linux-5.14.21-150400.22-obj/x86_64/default
WARNING: Symbol version dump Module.symvers is missing.
         Modules may not have dependencies or modversions.
         You may get many unresolved symbol warnings.
  MODPOST /home/name/programs/func/driver/Module.symvers
/bin/sh: scripts/mod/modpost: No such file or directory
make[3]: *** [/usr/src/linux-5.14.21-150400.22/scripts/Makefile.modpost:156: /home/name/programs/func/driver/Module.symvers] Error 127
make[3]: Target __modpost not remade because of errors.
make[2]: *** [/usr/src/linux-5.14.21-150400.22/Makefile:1797: modules] Error 2
make[2]: Target __all not remade because of errors.
make[1]: *** [/usr/src/linux-5.14.21-150400.22/Makefile:220: __sub-make] Error 2
make[1]: Target __all not remade because of errors.
make[1]: Leaving directory /usr/src/linux-5.14.21-150400.22-obj/x86_64/default
make: *** [Makefile:19: driver] Error 2
make -C apps
make[1]: Entering directory /home/name/programs/func/apps
make[1]: Nothing to be done for all.
make[1]: Leaving directory /home/name/programs/func/apps
make: Target all not remade because of errors.

解决办法

在内核目录/usr/src/linux-5.14.21-150400.22-obj/x86_64/default中执行以下命令:

sudo make scripts

然后执行安装:

sudo zypper install kernel-default-devel

再编译就能够正常生成.ko模块了。

3

站心网

问题描述 我在OpenSUSE Linux中运行make构建一个自定义驱动程序,用于与一些外部设备进行通讯,Makefile在..

为您推荐

如何选择更适合你的 Linux 发行版?

很多人经常会问我这样一个问题:“嘿,你是用Linux的,对吧?我应该使用Linux的哪个版本?我有这个朋友推荐我_____,你觉得怎么样?”我通常会以这样的问题回复:这取决于你想做什么?今天我决定写一篇关于如何选择L..

VS创建.NET Core项目使用Docker方式部署到Linux服务器

在 Visual Studio(VS) 中,使用 Docker 方式部署 .NET Core 项目 到 Linux 服务器,可以简化环境管理并提高部署效率。以下是完整教程:1. 在 VS 创建 .NET Core 项目并启用 Docker新建 ASP.NET Core 项目打开 Visu..

ASP.NET MVC4/5实现asp-append-version为css/js带上版本号

.NET Core MVC/Razor Page中使用TagHelpers的asp-append-version属性就可以为css或者js文件加上版本号。例如:<linkrel="stylesheet"href="~/css/site.min.css"asp-append-version="true"/>这样输出的Html是这样的:..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

Kubernetes(k8s) Linux安装和配置

什么是Kubernetes(k8s)?Kubernetes(通常称为"k8s")是一种用于自动部署、扩展和管理容器化应用程序的开源平台。它提供了一个容器编排和管理系统,可以自动化应用程序的部署、管理和缩放,并确保它们的高可用性。在..

.NET Core不重新编译立即更新页面

在 .NET Core 中,你可以使用一种称为 "Razor Pages" 或 "Razor Views" 的技术来实现页面的热重载,即不需要重新编译应用程序就能立即更新页面。这通常用于开发环境中,以提高开发人员的生产力。以下是一些方法来实..

c#反编译工具有哪些?

C#反编译工具可以将C#程序集反编译为C#代码。这可以用于调试、分析、学习或修改C#程序。C#反编译工具有很多种,包括:ILSpy:ILSpy是一个免费开源的C#反编译工具。它可以生成高质量的C#代码,并支持多种功能,例如代..

免费Subversion(Svn)源代码托管服务

SVNSpot Subversion源代码托管服务 免费创建2个公共(开源)或私有项目 合作者人数无限制/支持目录权限 支持项目导出、导入,提交注释、编辑注释 http://code.svnspot.com/..

必须添加对程序集"netstandard, Version=2.0.0.0"错误解决方法

编译.net core项目出现如下错误:必须添加对程序集"netstandard, Version=2.0.0.0"。解决方法是更新.net core2,升级vs2017到15.4版本,升级framework到4.7版本。..

Linux下RabbitMQ安装和.NET Core使用RabbitMQ.Client操作

RabbitMQ简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反..

c#反编译工具推荐

C#反编译工具是用于将C#程序集反编译为中间语言(IL)或C#源代码的工具。反编译工具可以用于各种目的,例如调试、分析、学习和逆向工程。以下是一些常用的C#反编译工具:dnSpy简介:dnSpy是一个开源的.NET程序集反编..

Linux sed命令关键字匹配文件中整行的任意字符然后替换整行

Linux sed命令关键字匹配文件中整行的任意字符然后替换整行语法:sed -i s/.*要匹配的字串符.*/待替换的字串符/ test.txt例如,文件中内容如下:aabbccddbbccdd要将包含bb的行替换为www,使用如下命令:sed -i s/.*b..

Linux中date命令如何格式化输出需要的时间格式

linux中date命令,可以输出各种格式的时间,有时候在shell脚本中需要获取一定格式的时间字符串,直接使用date命令格式化时间输出就可以完成。date命令的help如下:ferris@ferris-pc:~$ date --help用法:date [选项]..

使用Docker Wine Qemu KVM在Linux运行Windows应用

Docker、Wine、Qemu和KVM都是在Linux上运行Windows程序的工具,但它们的实现方式和使用场景有所不同。Docker是一个容器化技术,它可以在Linux系统中创建和运行容器,这些容器可以包含Windows程序和其所需的依赖项。D..

Debian Linux国内常用镜像源

随着Debian Buster 10.3的发布,Debian Buster 日趋稳定。如果在生产上使用了 Debian 9 的系统,现在是可以安全的,灰度升级到 Debian Buster 做前期验证了。这里我们整理一下国内较知名的镜像站点,供大家在生产环..

CentOS7安装unzip解压工具命令使用方法

CentOS7可以通过yum命令安装支持zip的工具unzip,下面是安装和使用的方法。安装unzip工具yuminstall-yunzipzip使用unzip命令解压zip文件#解压到当前目录下unziptest.zip#使用-d参数解压到指定目录下unzip-d/filestes..

Linux使用Docker部署.NET6网站图文教程

本文主要实践在Linux使用Docker部署.NET Core网站。服务器使用的是CentOS7.9版本。我们使用Visual Studio2022创建.NET Core网站并生成Dockerfile文件,然后上传到Linux服务器并使用Docker部署网站。创建网站并生成Do..

linux中Qt工程编译报错: error: 找不到 -lGL

编译一个Qt项目报错:Qt error: 找不到 -lGL这是因为 Qt编译器找不到 OpenGL 的动态链接库(libGL.so)。 在大部分 Linux 发行版中都是默认安装OpenGL,包括 Ubuntu、CentOS 等,找不到该链接库一般都是路径不对,如..

Linux为网站配置SSL证书实现https访问

在Linux系统上配置证书,实现https访问,一般需要以下几个步骤:获取证书要启用https,需要在服务器上安装SSL/TLS证书。您可以从商业证书颁发机构(CA)购买证书,或使用免费的Let's Encrypt证书。可以使用certb..

Linux中通过命令连接指定WiFi

前言在Linux中,尤其是在没有GUI界面的Linux系统中,需要连接WiFi时只能通过命令来完成,大致过程如下:安装软件连接WiFi需要用到iw,wpa_supplicant和net-tools中的一些工具,一些嵌入型Linux中可能已经在生成系统..

发表回复

返回顶部