【记录】Kernel header files not in any of the expected locations.错误解决

本文介绍了解决CentOS6.5中编译Interi210网卡驱动遇到的问题,包括缺少kernel-devel和kernel-headers包导致的错误及解决方法。通过安装所需的内核开发包和创建软链接,最终成功完成驱动编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我需要在CentOS 6.5中编译一个Inter i210网卡驱动

        tar zxvf igb-5.1.2.tar.gz
        cd igb-5.1.2/src
        make

出现如下错误:
====================================================
Makefile:71: *** Kernel header files not in any of the expected locations.
Makefile:72: *** Install the appropriate kernel development package, e.g.
Makefile:73: *** kernel-devel, for building kernel modules and try again. Stop.
====================================================
有可能是 kernel-devel没有安装

       rpm -qa    kernel-devel  kernel-headers

如果没有找到,那就先安装

       yum install kernel-devel kernel-headers

如果已经安装了,还出现以上错误,是因为在Makefile文件中,它连接的目录为/usr/src/linux
但是系统里面并没有这个目录,这个时候可以使用以下命令:

       cd /usr/src
       ln -s /kernels/2.6.32-431.11.2.el6.x86_64/   linux

创建一个软链接。
再执行:

       make

最后成功编译!

这个错误是在MATLAB中遇到的,它表示你在试图将结构体转换成表格(`array2table`)时,结构体 (`resultStruct`) 的字段名(即 `'VariableNames'` 参数所指的)与预期的字段名不符。在MATLAB中,当你创建表格时,需要提供与结构体字段一一对应的名称,这样才能确保数据按照正确的字段映射到表格的列上。 例如,如果函数期望的字段名是`FileName`, `Column2Max`, `Column2Min`, `Column3Max`, `Column3Min`,而实际上`resultStruct`里可能缺少部分或者使用了不同的字段名,就会触发这个错误。 要解决这个问题,你需要确认 `resultStruct` 的实际字段名,并将其与预期的字段名列表对齐。如果存在字段名不匹配,你需要调整结构体的字段或者修改`VariableNames`参数。例如: ```matlab expectedFieldNames = {'FileName', 'Column2Max', 'Column2Min', 'Column3Max', 'Column3Min'}; fieldNamesFromStruct = fieldnames(resultStruct); % 检查并调整 if ~isequal(expectedFieldNames, fieldNamesFromStruct) % 更改或添加缺失的字段名,或者删除多余的字段 resultStruct = rmfield(resultStruct, unmatchedFields); % 删除多余字段 resultStruct(unmatchedFieldsToAdd) = ...; % 添加缺失字段的新值或定义它们 % 或者直接更新VariableNames resultsTable = array2table(resultStruct, 'VariableNames', expectedFieldNames); else resultsTable = array2table(resultStruct, 'VariableNames', fieldNamesFromStruct); end ``` 完成上述操作后,再运行 `array2table` 应该不会报错了。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值