ubuntu16.04编译uboot.2022.10错误ools/sunxi_toc0.o:在函数‘toc0_verify_header’中:sunxi_toc0.c:(.text+0x4f5)解决:

文章描述了在Ubuntu16.04环境下尝试编译U-Boot2022.10时遇到的OpenSSL相关编译错误,指出原因是使用的OpenSSL版本过低。提供了解决方案,包括升级到OpenSSL1.1.1,下载源码,编译并替换旧版本的OpenSSL库。最终成功编译U-Boot.
摘要由CSDN通过智能技术生成

ubuntu16.04编译uboot2022.10错误提示:

ools/sunxi_toc0.o:在函数‘toc0_verify_header’中:
sunxi_toc0.c:(.text+0x4f5):对‘RSA_set0_key’未定义的引用
sunxi_toc0.c:(.text+0x50c):对‘RSA_get0_n’未定义的引用
sunxi_toc0.c:(.text+0x52a):对‘RSA_get0_e’未定义的引用
sunxi_toc0.c:(.text+0x5f0):对‘RSA_set0_key’未定义的引用
sunxi_toc0.c:(.text+0x702):对‘RSA_set0_key’未定义的引用
sunxi_toc0.c:(.text+0x719):对‘RSA_get0_n’未定义的引用
sunxi_toc0.c:(.text+0x726):对‘RSA_get0_n’未定义的引用
sunxi_toc0.c:(.text+0x743):对‘RSA_get0_e’未定义的引用
sunxi_toc0.c:(.text+0x750):对‘RSA_get0_e’未定义的引用
tools/sunxi_toc0.o:在函数‘toc0_set_header’中:
sunxi_toc0.c:(.text+0xaa5):对‘RSA_get0_d’未定义的引用
sunxi_toc0.c:(.text+0xafe):对‘RSA_get0_d’未定义的引用
sunxi_toc0.c:(.text+0xd81):对‘RSA_get0_n’未定义的引用
sunxi_toc0.c:(.text+0xda9):对‘RSA_get0_e’未定义的引用
sunxi_toc0.c:(.text+0xde9):对‘RSA_get0_n’未定义的引用
sunxi_toc0.c:(.text+0xe11):对‘RSA_get0_e’未定义的引用
sunxi_toc0.c:(.text+0xf14):对‘RSA_get0_n’未定义的引用
sunxi_toc0.c:(.text+0xf29):对‘BN_bn2binpad’未定义的引用
sunxi_toc0.c:(.text+0xf3b):对‘RSA_get0_e’未定义的引用
sunxi_toc0.c:(.text+0xf50):对‘BN_bn2binpad’未定义的引用
tools/lib/ecdsa/ecdsa-libcrypto.o:在函数‘prepare_ctx’中:
ecdsa-libcrypto.c:(.text+0xcd):对‘OPENSSL_init_ssl’未定义的引用
ecdsa-libcrypto.c:(.text+0x185):对‘EC_GROUP_order_bits’未定义的引用
tools/lib/ecdsa/ecdsa-libcrypto.o:在函数‘ecdsa_check_signature.isra.3’中:
ecdsa-libcrypto.c:(.text+0x3ad):对‘ECDSA_SIG_set0’未定义的引用
tools/lib/ecdsa/ecdsa-libcrypto.o:在函数‘ecdsa_sign’中:
ecdsa-libcrypto.c:(.text+0x497):对‘ECDSA_SIG_get0’未定义的引用
ecdsa-libcrypto.c:(.text+0x4ae):对‘BN_bn2binpad’未定义的引用
ecdsa-libcrypto.c:(.text+0x4c0):对‘BN_bn2binpad’未定义的引用
tools/lib/ecdsa/ecdsa-libcrypto.o:在函数‘ecdsa_add_verify_data’中:
ecdsa-libcrypto.c:(.text+0x68d):对‘EC_GROUP_order_bits’未定义的引用
ecdsa-libcrypto.c:(.text+0x6d3):对‘EC_POINT_get_affine_coordinates’未定义的引用
tools/lib/rsa/rsa-sign.o:在函数‘rsa_sign’中:
rsa-sign.c:(.text+0x524):对‘OPENSSL_init_ssl’未定义的引用
tools/lib/rsa/rsa-sign.o:在函数‘rsa_get_params’中:
rsa-sign.c:(.text+0x973):对‘RSA_get0_key’未定义的引用
rsa-sign.c:(.text+0x9c0):对‘RSA_get0_key’未定义的引用
tools/lib/rsa/rsa-sign.o:在函数‘rsa_add_verify_data’中:
rsa-sign.c:(.text+0xe21):对‘EVP_PKEY_get0_RSA’未定义的引用
collect2: error: ld returned 1 exit status
scripts/Makefile.host:104: recipe for target ‘tools/dumpimage’ failed
make[2]: *** [tools/dumpimage] Error 1
/home/male/samsung/uboot/u-boot-2022.10/Makefile:1875: recipe for target ‘tools’ failed
make[1]: *** [tools] Error 2
make[1]: Leaving directory ‘/home/male/samsung/uboot/u-boot-2022.10/build’
Makefile:177: recipe for target ‘sub-make’ failed
make: *** [sub-make] Error 2
root@vm:/home/male/samsung/uboot/u-boot-2022.10# tools/sunxi_toc0.o:在函数‘toc0_verify_header’中:
bash: tools/sunxi_toc0.o:在函数‘toc0_verify_header’中:: 没有那个文件或目录
root@vm:/home/male/samsung/uboot/u-boot-2022.10# sunxi_toc0.c:(.text+0x4f5):对‘RSA_set0_key’未定义的引用
bash: 未预期的符号 .text+0x4f5' 附近有语法错误 root@vm:/home/male/samsung/uboot/u-boot-2022.10# root@vm:/home/male/samsung/uboot/u-boot-2022.10# sunxi_toc0.c:(.text+0x4f5):对‘RSA_set0_key’未定义的引用 bash: 未预期的符号 .text+0x4f5’ 附近有语法错误

在这里插入图片描述

原因openssl默认版本太低

解决办法:

先检查下openssl版本:
在这里插入图片描述将openssl升级到openssl-1.1.1,下载openssl1.1.1版本源码:

wget https://www.openssl.org/source/openssl-1.1.1.tar.gz

解压编译安装:

tar xvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config
make
sudo make install
sudo ldconfig

之后需要删除旧版本

sudo rm mv /usr/bin/openssl /root/
sudo ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
sudo rm /usr/lib/x86_64-linux-gnu/libcrypto.so
sudo ln -s /usr/local/lib/libcrypto.so /usr/lib/x86_64-linux-gnu/
sudo rm /usr/lib/x86_64-linux-gnu/libssl.so
sudo ln -s /usr/local/lib/libssl.so /usr/lib/x86_64-linux-gnu/

在这里插入图片描述

继续uboot编译成功。
在这里插入图片描述

  • 13
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值