当前位置: 首页 > news >正文

I.MX6 linux kernel编译错误处理

/********************************************************************************
 *                     I.MX6 linux kernel编译错误处理
 * 声明:
 *     本文仅仅是对I.MX6的linux内核编译出错,记录其对应的处理方法。
 *
 *                                       2015-10-15 晴 深圳 南山平山村 曾剑锋
 *******************************************************************************/


参考文章:
    1. Android JB4.2.2_1.0.0  issue:  MFG Firmware build does not compile
        https://community.freescale.com/thread/307477
    2. honycomb-x86: build failed on ubuntu for traget-product 'vm'
        https://code.google.com/p/android-x86/issues/detail?id=487
    3. AR1021In Production
        http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en557224

一、编译错误:
      LD      init/built-in.o
      LD      .tmp_vmlinux1
    drivers/built-in.o: In function `mxc_hdmi_remove':
    clkdev.c:(.text+0x125e0): undefined reference to `switch_dev_unregister'
    clkdev.c:(.text+0x125ec): undefined reference to `switch_dev_unregister'
    drivers/built-in.o: In function `hotplug_worker':
    clkdev.c:(.text+0x1445c): undefined reference to `switch_set_state'
    clkdev.c:(.text+0x1446c): undefined reference to `switch_set_state'
    clkdev.c:(.text+0x1466c): undefined reference to `switch_set_state'
    clkdev.c:(.text+0x1467c): undefined reference to `switch_set_state'
    drivers/built-in.o: In function `mxc_hdmi_probe':
    clkdev.c:(.devinit.text+0x3c8): undefined reference to `switch_dev_register'
    clkdev.c:(.devinit.text+0x3d4): undefined reference to `switch_dev_register'
    sound/built-in.o: In function `usb_audio_disconnect':
    last.c:(.text+0x16b20): undefined reference to `switch_set_state'
    last.c:(.text+0x16b28): undefined reference to `switch_dev_unregister'
    sound/built-in.o: In function `usb_audio_probe':
    last.c:(.text+0x16f84): undefined reference to `switch_dev_register'
    last.c:(.text+0x17008): undefined reference to `switch_set_state'
    last.c:(.text+0x170e4): undefined reference to `switch_dev_register'
    sound/built-in.o: In function `hp_jack_status_check':
    last.c:(.text+0x368b0): undefined reference to `switch_set_state'
    last.c:(.text+0x36944): undefined reference to `switch_set_state'
    sound/built-in.o: In function `imx_wm8962_remove':
    last.c:(.devexit.text+0x2b8): undefined reference to `switch_dev_unregister'
    sound/built-in.o: In function `imx_wm8962_probe':
    last.c:(.devinit.text+0x6e4): undefined reference to `switch_dev_register'
    last.c:(.devinit.text+0x718): undefined reference to `switch_set_state'
    make: *** [.tmp_vmlinux1] Error 1

    解决方法:
        主要是make menuconfig打开swith这个选项,详情参考文章1。

二、编译错误:
      LD      kernel/built-in.o
      CC      drivers/gpu/drm/drm_auth.o
    In file included from include/drm/drmP.h:76:0,
                     from drivers/gpu/drm/drm_auth.c:36:
    include/drm/drm.h:48:23: fatal error: sys/types.h: No such file or directory
    compilation terminated.
    make[3]: *** [drivers/gpu/drm/drm_auth.o] Error 1
    make[2]: *** [drivers/gpu/drm] Error 2
    make[1]: *** [drivers/gpu] Error 2
    make: *** [drivers] Error 2

    解决方法:
        由于采用了Android自带的编译器,本来就不能用Android的编译器,导致出现了这个问题,所以换成Linux Qt的编译器就行了。

三、编译错误:
      CC [M]  drivers/usb/gadget/audio.o
      CC [M]  drivers/usb/gadget/ether.o
    drivers/usb/gadget/ether.c: In function 'rndis_do_config':
    drivers/usb/gadget/ether.c:249:2: error: too few arguments to function 'rndis_bind_config'
    drivers/usb/gadget/f_rndis.c:788:1: note: declared here
    drivers/usb/gadget/ether.c:250:1: warning: control reaches end of non-void function [-Wreturn-type]
    make[3]: *** [drivers/usb/gadget/ether.o] Error 1
    make[2]: *** [drivers/usb/gadget] Error 2
    make[1]: *** [drivers/usb] Error 2
    make: *** [drivers] Error 2

    解决方法:
        make menuconfig 去掉这部分驱动也许就行了。目前本人通过选择一个能够编译通过的文件系统
        Device Drivers  --->  
            [*] USB support  ---> 
                <*>   USB Gadget Support  --->
                    <*>   USB Gadget Drivers (Gadget Filesystem (EXPERIMENTAL))  --->
                        (X) Gadget Filesystem (EXPERIMENTAL)     

四、编译错误:
    Qt@aplex:~/kernel/linuxQt_kernel$ make uImage
      CHK     include/linux/version.h
      CHK     include/generated/utsrelease.h
    make[1]: `include/generated/mach-types.h' is up to date.
      CALL    scripts/checksyscalls.sh
      CHK     include/generated/compile.h
      CC      drivers/input/touchscreen/ar1020-spi.o
    drivers/input/touchscreen/ar1020-spi.c: In function 'ar1020_spi_probe':
    drivers/input/touchscreen/ar1020-spi.c:801:2: error: implicit declaration of function 'set_irq_type' [-Werror=implicit-function-declaration]
    drivers/input/touchscreen/ar1020-spi.c:802:13: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result [-Wunused-result]
    cc1: some warnings being treated as errors
    
    make[3]: *** [drivers/input/touchscreen/ar1020-spi.o] Error 1
    make[2]: *** [drivers/input/touchscreen] Error 2
    make[1]: *** [drivers/input] Error 2
    make: *** [drivers] Error 2

    解决方法:
        //set_irq_type(i, IRQ_TYPE_EDGE_RISING);  // 将中断引发类型放在request_irq()中
        if (0 >= (ret=request_irq(i, test_irq_handler_func, IRQ_TYPE_EDGE_RISING,
                        "AR1020 IRQ", priv))){
            ......
        }

 

转载于:https://www.cnblogs.com/zengjfgit/p/4882146.html

相关文章:

  • 畅通工程
  • tar 解压指定文件
  • [原创]TimeQuest约束外设之ddio的潜规则
  • Skia深入分析3——skia图片绘制的实现(1)
  • 高富帅与大公司 续三 自我认知
  • Asp.net安全架构之3:CSRF(跨站点请求伪造)
  • flat UI
  • 监控中心机房设计方案
  • 我的Android进阶之旅------【强力推荐】Android开源图表库XCL-Charts版本发布及展示页...
  • 10月13日全球域名商(国际域名)解析新增量TOP20
  • SQL网站注入步骤
  • 让ShearPoint 2010在线广播PPT演示文稿
  • 基于android混合开发的JsBridge技术学习
  • coredata理解
  • 天轰穿结束了,结束了浮躁的生活
  • Angular6错误 Service: No provider for Renderer2
  • C++11: atomic 头文件
  • create-react-app项目添加less配置
  • docker容器内的网络抓包
  • Java小白进阶笔记(3)-初级面向对象
  • MQ框架的比较
  • Selenium实战教程系列(二)---元素定位
  • sublime配置文件
  • vue学习系列(二)vue-cli
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 分享几个不错的工具
  • 高性能JavaScript阅读简记(三)
  • 工程优化暨babel升级小记
  • 类orAPI - 收藏集 - 掘金
  • 深入浅出Node.js
  • 实现菜单下拉伸展折叠效果demo
  • 算法---两个栈实现一个队列
  • 为什么要用IPython/Jupyter?
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • $(function(){})与(function($){....})(jQuery)的区别
  • (搬运以学习)flask 上下文的实现
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (全注解开发)学习Spring-MVC的第三天
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .Net CF下精确的计时器
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 使用 XPath 来读写 XML 文件
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net反混淆脱壳工具de4dot的使用
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @31省区市高考时间表来了,祝考试成功
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?