云苔琦鱼 2024-06-18 21:32 采纳率: 100%
浏览 7
已结题

编译Android kernel错误


 CC      kernel/sched/debug.o
  CC      kernel/sched/tune.o
kernel/sched/tune.c:897:30: error: 'sched_boost_override_write_wrapper' undeclared here (not in a function); did you mean 'sched_boost_override_write'?
  897 |                 .write_u64 = sched_boost_override_write_wrapper,
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                              sched_boost_override_write
kernel/sched/tune.c:902:30: error: 'sched_colocate_write_wrapper' undeclared here (not in a function); did you mean 'sched_colocate_write'?
  902 |                 .write_u64 = sched_colocate_write_wrapper,
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                              sched_colocate_write
kernel/sched/tune.c:908:30: error: 'boost_write_wrapper' undeclared here (not in a function)
  908 |                 .write_s64 = boost_write_wrapper,
      |                              ^~~~~~~~~~~~~~~~~~~
kernel/sched/tune.c:913:30: error: 'prefer_idle_write_wrapper' undeclared here (not in a function); did you mean 'prefer_idle_write'?
  913 |                 .write_u64 = prefer_idle_write_wrapper,
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                              prefer_idle_write
kernel/sched/tune.c:816:1: warning: 'boost_write' defined but not used [-Wunused-function]
  816 | boost_write(struct cgroup_subsys_state *css, struct cftype *cft,
      | ^~~~~~~~~~~
kernel/sched/tune.c:775:1: warning: 'prefer_idle_write' defined but not used [-Wunused-function]
  775 | prefer_idle_write(struct cgroup_subsys_state *css, struct cftype *cft,
      | ^~~~~~~~~~~~~~~~~
kernel/sched/tune.c:616:12: warning: 'sched_colocate_write' defined but not used [-Wunused-function]
  616 | static int sched_colocate_write(struct cgroup_subsys_state *css,
      |            ^~~~~~~~~~~~~~~~~~~~
kernel/sched/tune.c:383:12: warning: 'sched_boost_override_write' defined but not used [-Wunused-function]
  383 | static int sched_boost_override_write(struct cgroup_subsys_state *css,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:343:kernel/sched/tune.o] 错误 1
make[1]: *** [scripts/Makefile.build:656:kernel/sched] 错误 2
make: *** [Makefile:1160:kernel] 错误 2
                                                                                                                                                                                                                                           
┌──(root㉿yunyao)-[/home/qiyu/kernel-xiaomi-sdm845-master]
└─# 

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-18 21:32
    关注

    引自免费微信小程序:皆我百晓生

    从你提供的错误信息来看,问题出现在kernel/sched/tune.c文件中,涉及到几个未声明的函数指针,如sched_boost_override_write_wrappersched_colocate_write_wrapperboost_write_wrapper等。同时,有警告指出一些函数被定义但没有被使用,例如boost_writeprefer_idle_writesched_colocate_write

    这些错误通常意味着在你的代码中引用了某些函数,但是这些函数的实际实现或者它们的声明(通常是通过宏或者结构体成员的形式)没有正确地包含或定义。为了解决这个问题,你可以尝试以下步骤:

    步骤 1: 检查头文件

    确保所有相关的头文件都被正确包含。通常,对于Linux内核模块,这可能意味着需要检查include/linux/cgroup.h或其他相关头文件是否已经被正确包含在tune.c文件中。如果这些头文件包含了必要的函数声明或宏定义,那么它们应该在你的源文件顶部被包含。

    步骤 2: 定义函数指针

    如果函数指针需要自定义实现,确保它们被正确声明并实现。例如,如果sched_boost_override_write_wrapper需要一个自定义实现,你需要在代码中添加其声明和定义。通常,这些函数指针会被定义为如下格式:

    static int sched_boost_override_write_wrapper(struct cgroup_subsys_state *css, struct cftype *cft, u64 val);
    

    然后,在适当的位置提供其实现。

    步骤 3: 更新内核配置

    有时候,错误可能是由于内核配置不正确导致的。确保你的.config文件包含了所有必要的选项,特别是与cgroup和调度器相关的配置项。

    步骤 4: 清理并重新构建

    在尝试上述修改后,务必清理并重新构建内核。可以使用以下命令:

    make clean
    make mrproper
    make menuconfig # 根据需要调整配置
    make -j$(nproc) # 开始构建
    

    步骤 5: 检查官方文档或社区资源

    如果问题仍然存在,查阅官方文档或社区资源可能会有所帮助。Linux内核的文档非常丰富,可以从Documentation/目录下的文件开始,或者访问Linux内核邮件列表和GitHub上的相关项目页面,查找类似问题的解决方案。

    步骤 6: 回滚到已知稳定版本

    如果所有方法都失败了,考虑回滚到一个已知稳定的内核版本,或者从官方仓库拉取最新的代码,因为有时候错误可能是由代码中的bug引起的,而这些问题可能已经在后续的版本中得到了修复。

    希望以上步骤能帮助你解决编译过程中遇到的问题。如果还有其他具体疑问,欢迎继续询问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月18日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真