Binutils 包含汇编器、链接器以及其他用于处理目标文件的工具。
安装 Binutils
解压软件包:
cd /sources tar xf binutils-2.37.tar.xz cd binutils-2.37
复制
进行简单测试,确认伪终端 (PTY) 在 chroot 环境中能正常工作:
expect -c "spawn ls"
复制
如果输出不是上面这样,就说明环境没有为 PTY 的正常工作设置好。在运行 Binutils 和 GCC 的测试套件前必须解决这个问题。
上游开发者提供了一个补丁,它能修复在构建一些软件包时出现的问题。应用该补丁:
patch -Np1 -i ../binutils-2.37-upstream_fix-1.patch
复制
构建系统中的一处错误导致软件包附带的 man 页面为空。绕过这个问题并删除附带的 man 页面,这样 man 页面就会被正确地重新生成:
sed -i '63d' etc/texi2pod.pl find -name \*.1 -delete
复制
Binutils 文档推荐在一个专用的构建目录中构建 Binutils:
mkdir -v build cd build
复制
准备编译 Binutils:
../configure prefix=/usr \ --enable-gold \ --enable-ld=default \ --enable-plugins \ --enable-shared \ --disable-werror \ --enable-64-bit-bfd \ --with-system-zlib
复制
编译该软件包:
make tooldir=/usr
复制
测试编译结果:
make -k check
复制
已知四项和 zlib 相关的测试可能失败。
安装该软件包:
make tooldir=/usr install -j1
复制
删除无用的静态库:
rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
复制
安装完成后清理工作:
cd ../.. rm -rf binutils-2.37
复制
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。