野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 91|回复: 2

[求助] linux内核编译出错

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

@z-virtual-machine:~/linux_driver/kernel/ebf-buster-linux$ sudo ./make_deb.sh
[sudo] z 的密码:
make[1]: 进入目录“/home/z/linux_driver/kernel/ebf-buster-linux/build_image/build”
  HOSTCC  scripts/basic/fixdep
  GEN     ./Makefile
  HOSTCC  scripts/kconfig/conf.o
  YACC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
make[1]: 离开目录“/home/z/linux_driver/kernel/ebf-buster-linux/build_image/build”
make[1]: 进入目录“/home/z/linux_driver/kernel/ebf-buster-linux/build_image/build”
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-common.h
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-oabi.h
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-eabi.h
  UPD     include/config/kernel.release
  GEN     ./Makefile
  WRAP    arch/arm/include/generated/uapi/asm/bitsperlong.h
  WRAP    arch/arm/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/arm/include/generated/uapi/asm/errno.h
  WRAP    arch/arm/include/generated/uapi/asm/ioctl.h
  WRAP    arch/arm/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/msgbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/poll.h
  WRAP    arch/arm/include/generated/uapi/asm/param.h
  WRAP    arch/arm/include/generated/uapi/asm/resource.h
  WRAP    arch/arm/include/generated/uapi/asm/sembuf.h
  WRAP    arch/arm/include/generated/uapi/asm/shmbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/siginfo.h
  WRAP    arch/arm/include/generated/uapi/asm/socket.h
  WRAP    arch/arm/include/generated/uapi/asm/sockios.h
  WRAP    arch/arm/include/generated/uapi/asm/termbits.h
  WRAP    arch/arm/include/generated/uapi/asm/termios.h
  UPD     include/generated/uapi/linux/version.h
  UPD     include/generated/utsrelease.h
  Using /home/z/linux_driver/kernel/ebf-buster-linux as source for kernel
  WRAP    arch/arm/include/generated/asm/compat.h
  WRAP    arch/arm/include/generated/asm/current.h
  WRAP    arch/arm/include/generated/asm/early_ioremap.h
  WRAP    arch/arm/include/generated/asm/emergency-restart.h
  WRAP    arch/arm/include/generated/asm/exec.h
  WRAP    arch/arm/include/generated/asm/extable.h
  WRAP    arch/arm/include/generated/asm/irq_regs.h
  WRAP    arch/arm/include/generated/asm/kdebug.h
  WRAP    arch/arm/include/generated/asm/local.h
  WRAP    arch/arm/include/generated/asm/local64.h
  WRAP    arch/arm/include/generated/asm/mm-arch-hooks.h
  WRAP    arch/arm/include/generated/asm/msi.h
  WRAP    arch/arm/include/generated/asm/parport.h
  WRAP    arch/arm/include/generated/asm/preempt.h
  WRAP    arch/arm/include/generated/asm/rwsem.h
  WRAP    arch/arm/include/generated/asm/seccomp.h
  WRAP    arch/arm/include/generated/asm/segment.h
  WRAP    arch/arm/include/generated/asm/serial.h
  WRAP    arch/arm/include/generated/asm/simd.h
  WRAP    arch/arm/include/generated/asm/sizes.h
  WRAP    arch/arm/include/generated/asm/timex.h
  WRAP    arch/arm/include/generated/asm/trace_clock.h
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/genksyms/genksyms.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/bin2c
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/pnmtologo
  HOSTCC  scripts/dtc/livetree.o
  CC      scripts/mod/devicetable-offsets.s
  YACC    scripts/genksyms/parse.tab.c
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/conmakehash
  LEX     scripts/genksyms/lex.lex.c
  YACC    scripts/genksyms/parse.tab.h
  HOSTCC  scripts/sortextable
  HOSTCC  scripts/genksyms/parse.tab.o
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/genksyms/lex.lex.o
  HOSTCC  scripts/extract-cert
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  UPD     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/sumversion.o
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c: In function ‘display_openssl_errors’:
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:46:9: warning: ‘ERR_get_error_line’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
   46 |         while ((e = ERR_get_error_line(&file, &line))) {
      |         ^~~~~
In file included from /home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:23:
/usr/include/openssl/err.h:411:15: note: declared here
  411 | unsigned long ERR_get_error_line(const char **file, int *line);
      |               ^~~~~~~~~~~~~~~~~~
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c: In function ‘drain_openssl_errors’:
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:59:9: warning: ‘ERR_get_error_line’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
   59 |         while (ERR_get_error_line(&file, &line)) {}
      |         ^~~~~
In file included from /home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:23:
/usr/include/openssl/err.h:411:15: note: declared here
  411 | unsigned long ERR_get_error_line(const char **file, int *line);
      |               ^~~~~~~~~~~~~~~~~~
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c: In function ‘main’:
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:124:17: warning: ‘ENGINE_load_builtin_engines’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  124 |                 ENGINE_load_builtin_engines();
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:24:
/usr/include/openssl/engine.h:358:28: note: declared here
  358 | OSSL_DEPRECATEDIN_3_0 void ENGINE_load_builtin_engines(void);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:126:17: warning: ‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  126 |                 e = ENGINE_by_id("pkcs11");
      |                 ^
In file included from /home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:24:
/usr/include/openssl/engine.h:336:31: note: declared here
  336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
      |                               ^~~~~~~~~~~~
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:128:17: warning: ‘ENGINE_init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  128 |                 if (ENGINE_init(e))
      |                 ^~
In file included from /home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:24:
/usr/include/openssl/engine.h:620:27: note: declared here
  620 | OSSL_DEPRECATEDIN_3_0 int ENGINE_init(ENGINE *e);
      |                           ^~~~~~~~~~~
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:133:25: warning: ‘ENGINE_ctrl_cmd_string’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  133 |                         ERR(!ENGINE_ctrl_cmd_string(e, "IN", key_pass, 0), "Set PKCS#11 PIN");
      |                         ^~~
In file included from /home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:24:
/usr/include/openssl/engine.h:479:5: note: declared here
  479 | int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg,
      |     ^~~~~~~~~~~~~~~~~~~~~~
/home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:134:17: warning: ‘ENGINE_ctrl_cmd’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  134 |                 ENGINE_ctrl_cmd(e, "LOAD_CERT_CTRL", 0, &parms, NULL, 1);
      |                 ^~~~~~~~~~~~~~~
In file included from /home/z/linux_driver/kernel/ebf-buster-linux/scripts/extract-cert.c:24:
/usr/include/openssl/engine.h:450:27: note: declared here
  450 | OSSL_DEPRECATEDIN_3_0 int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,
      |                           ^~~~~~~~~~~~~~~
  HOSTLD  scripts/genksyms/genksyms
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.h
  YACC    scripts/dtc/dtc-parser.tab.c
  SYSNR   arch/arm/include/generated/asm/unistd-nr.h
  GEN     arch/arm/include/generated/asm/mach-types.h
  SYSTBL  arch/arm/include/generated/calls-oabi.S
  SYSTBL  arch/arm/include/generated/calls-eabi.S
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  CC      kernel/bounds.s
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/arm/kernel/asm-offsets.s
  HOSTLD  scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [scripts/Makefile.host:99:scripts/dtc/dtc] 错误 1
make[2]: *** [/home/z/linux_driver/kernel/ebf-buster-linux/scripts/Makefile.build:544:scripts/dtc] 错误 2
make[2]: *** 正在等待未完成的任务....
  HOSTLD  scripts/mod/modpost
make[1]: *** [/home/z/linux_driver/kernel/ebf-buster-linux/Makefile:1061:scripts] 错误 2
make[1]: *** 正在等待未完成的任务....
  UPD     include/generated/asm-offsets.h
  CALL    /home/z/linux_driver/kernel/ebf-buster-linux/scripts/checksyscalls.sh
make[1]: 离开目录“/home/z/linux_driver/kernel/ebf-buster-linux/build_image/build”
make: *** [Makefile:146:sub-make] 错误 2
make[1]: 进入目录“/home/z/linux_driver/kernel/ebf-buster-linux/build_image/build”
/bin/bash /home/z/linux_driver/kernel/ebf-buster-linux/scripts/package/mkdebian
dpkg-buildpackage -r"fakeroot -u" -a$(cat debian/arch) -b -nc -uc
dpkg-buildpackage: 警告: 使用超级用户命令
dpkg-buildpackage: info: 源码包 linux-upstream
dpkg-buildpackage: info: 源码版本 1stable
dpkg-buildpackage: info: source distribution bionic
dpkg-buildpackage: info: 源码修改者 root <root@z-virtual-machine>
dpkg-buildpackage: info: 主机架构 armhf
dpkg-buildpackage: 警告: debian/rules is not executable; fixing that
dpkg-source --before-build .
debian/rules build
make KERNELRELEASE=4.19.71-imx-r1 ARCH=arm         KBUILD_BUILD_VERSION=1stable KBUILD_SRC=
  GEN     ./Makefile
  Using /home/z/linux_driver/kernel/ebf-buster-linux as source for kernel
  HOSTLD  scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[8]: *** [scripts/Makefile.host:99:scripts/dtc/dtc] 错误 1
make[7]: *** [/home/z/linux_driver/kernel/ebf-buster-linux/scripts/Makefile.build:544:scripts/dtc] 错误 2
make[6]: *** [/home/z/linux_driver/kernel/ebf-buster-linux/Makefile:1061:scripts] 错误 2
make[6]: *** 正在等待未完成的任务....
  CALL    /home/z/linux_driver/kernel/ebf-buster-linux/scripts/checksyscalls.sh
make[5]: *** [Makefile:146:sub-make] 错误 2
make[4]: *** [Makefile:24:__sub-make] 错误 2
make[3]: *** [debian/rules:4:build] 错误 2
dpkg-buildpackage: 错误: debian/rules build subprocess returned exit status 2
make[2]: *** [/home/z/linux_driver/kernel/ebf-buster-linux/scripts/package/Makefile:80:bindeb-pkg] 错误 2
make[1]: *** [/home/z/linux_driver/kernel/ebf-buster-linux/Makefile:1359:bindeb-pkg] 错误 2
make[1]: 离开目录“/home/z/linux_driver/kernel/ebf-buster-linux/build_image/build”
make: *** [Makefile:146:sub-make] 错误 2

野火论坛202511301920274215..png
回复

使用道具 举报

发表于 4 天前 | 显示全部楼层
有可能是编译链版本太高了,可以降低再编译试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
把yylloc声明的地方加上extern,然后修改了编译脚本,现在能编译成功了,不知道有没有隐藏其他问题:
#!/bin/bash
make mrproper

# 正确:先配置,再编译
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 \
    KCFLAGS="-march=armv7-a -mtune=cortex-a7" \
    O=build_img/build npi_v7_defconfig

sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 \
    KCFLAGS="-march=armv7-a -mtune=cortex-a7" \
    O=build_img/build
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-5 12:44 , Processed in 0.127010 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表