• Linux内核编译报错的解决办法


    1.错误zlib.h
    compress.c:14:58: fatal error: zlib.h: No such file or directory
    compilation terminated.
    解决:sudo apt-get install zlib1g-dev

    2.错误bison
    make[2]: bison: Command not found
    解决:sudo apt-get install bison

    3.错误flex
    /bin/sh: flex: not found
    make[2]: *** [lib/conf-lex.c] Error 127
    解决:sudo apt-get install flex

    4.错误
    lib/libsensors.so: undefined reference to sensors_yylex
    lib/libsensors.so: undefined reference to sensors_yyin
    lib/libsensors.so: undefined reference to sensors_lex_error
    lib/libsensors.so: undefined reference to sensors_yylineno
    collect2: ld returned 1 exit status
    make[2]: *** [prog/sensors/sensors] Error 1
    解决:After installing flex and/or bison, you'll need to 'make clean' before 'make user' will work properly.(安装flex或者bison之后,需要先make clean一下)

    5.错误gmake
    /bin/sh: gmake: not found
    make[3]: *** [clean] Error 1
    原因:在ubuntu中已经取消掉了gmake,都用make代替。
    解决: sudo ln -s /usr/bin/make /usr/bin/gmake

    6.错误
    (cd basis/build/linux-am34-bluraypan; sh build_me.sh -c -b -j -L lex)
    [: 133: unexpected operator
    [: 133: unexpected operator
    Error: DirectFB path point to an invalid path
    Hint: you can set DirectFB path by:

    1. setenv MEI2_TOOLCHAIN_JAVA_DIR your_directfb_path
    2. use -D build switch, type build_me.sh -h for help
      make[4]: [clean] Error 1
      解决:$ sudo dpkg-reconfigure dash(可见dash的说明文)
      选择[NO]

    7.错误
    Sequence (?<...) not recognized in regex; marked by <-- HERE in m//+|(?< <-- HERE !/)$/ at -e line 1.
    解决:perl版本差别引起的异常message,降级perl版本至5.8.9

    8.错误XftConfigLexDone
    xftlex.l: In function XftConfigLexDone:
    xftlex.l:274: `XftConfig_current_buffer' undeclared (first use in this function)
    解决:
    flex包版本不匹配.降级到2.5.4后,make clean后,编译通过.

    9.错误libext2fs.info
    make[5]: makeinfo: Command not found
    make[5]: *** [libext2fs.info] Error 127
    解决:$ sudo apt-get install texinfo

    10.错误gawk
    /bin/sh: line 1: gawk: command not found
    make[6]: *** [stamp-gtktypebuiltins.h] Error 127
    解决:$ sudo apt-get install gawk

    11.错误indent
    /bin/sh: line 2: indent: command not found
    make[6]: *** [stamp-gtkmarshal.h] Error 127
    解决:$ sudo apt-get install indent

    12 错误: openssl/bio.h
    “error : openssl/bio.h :No such file or folder
    解决方法:sudo apt-get install libssl-dev

    13 错误: code model kernel does not support PIC mode
    在进行make oldconfig时出现,code model kernel does not support PIC mode的错误
    解决方法如下:
    在源码的根目录下的Makefile中的KBUILD_CFLAGS中添加一个编译选项

    14 编译linux内核出现"linux/compiler-gcc7.h: No such file or directory"
    解决方法如下
    https://blog.csdn.net/ysheng76/article/details/104943794

    15 重启之后开机出现错误如下:
    [Linux] end Kernel panic - not syncing: System is deadlocked on memory错误
    解决方法:在虚拟机选项中将内存改大一些,我这边直接改成3GB了,然后再重启

    总结:
    1.一般出现”NO such file or directory”之类的报错,先看报错缺的是什么,然后再网上搜索对应的包是什么,使用sudo apt-get install X安装该包
    2.建议不要使用太旧的linux内核版本,因为现在的交叉编译环境也再不断更新,使用太老旧的内核有时候会报一些奇奇怪怪的错误

    参考文章:

    1. https://www.cnblogs.com/gavin-world/p/11169282.html
    2. https://blog.csdn.net/ysheng76/article/details/104943794
  • 相关阅读:
    [转]C#正则表达式小结
    Silverlight 参考:KeyEventArgs.Handled 属性
    一步一步搭建免费的Silverlight 2开发环境(转载)
    Silverlight2 跨域调用Web服务的方法
    BinaryFormatter 类
    从说事到流程的理解
    比尔盖茨给青少年的11条准则
    燃烧热情
    GOF模式之乱记一通
    学而不思则罔,思而不学则殆
  • 原文地址:https://www.cnblogs.com/y-c-y/p/14140714.html
Copyright © 2020-2023  润新知