QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1134|回复: 2

在LFS中编译Binutils时要求有collect2怎么安

[复制链接]
发表于 2005-1-18 12:01:03 | 显示全部楼层 |阅读模式
在LFS中编译Binutils时要求有collect2,怎么安装collect2?它是属于哪个包里的?我是在debian下编译LFS的

这个安装文档的内容说明要有collect2

安装Binutils依赖于
最后检查于 version 2.11.2.
....................
Gcc: cc, cc1, collect2, cpp0, gcc
.......................
发表于 2005-1-18 12:07:27 | 显示全部楼层
在第几章的?
回复

使用道具 举报

 楼主| 发表于 2005-1-18 13:53:14 | 显示全部楼层
我看是PDF版,不记得在哪里下载的,只有版本号,我把binutils-2.13哪一节的安装贴在下面

版本是Linux From Scratch: 版本 20021030

目录
准备LFS系统
介绍
我们为什么使用静态链接?
创建$LFS/static目录
作为一个没有特权的用户安装所有软件包
安装 Bash-2.05a
安装 Binutils-2.13  <--------------------------------------------------------------------------就是安装这个出错


binutils-2.13的安装内容:

安装 Binutils-2.13
Binutils 的安装
如果你把这个包缺省的优化参数(包括 -march 和 -mcpu参数)改变的话,它会有很不良的
表现。最好不要优化这个包。因此,如果你定义了任何优化参数的话,比如CFLAGS 和
CXXFLAGS,我们劝你在编译binutils时unset或修改它们。警告过了哦!
用下列命令安装 Binutils:
命令解释
mkdir ../binutils -build: Binutils的安装指南推荐用一个新建的目录来编译它,而不是在
源码目录中。所以,我们就创建了一个 binutils-build目录并从那里开始编译。
--disable-nls: 这个参数禁止了国际化(又叫i18n)。我们的静态程序不需要国际化的特
性,并且在静态链接时nls常常引起错误。
LDFLAGS=-all-static: 把变量 LDFLAGS 设置成 -all-static 使 binutils 被静态链接。
Binutils的内容
最后检查于version 2.12.1.
包含的程序
addr2line, ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf,
size, strings and strip
具体说明
addr2line
addr2line把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件
名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。
Linux From Scratch: 版本 20021030
前一页Chapter 5. 准备LFS系统后一页
估计编译时间: 2.05 SBU
估计所需硬盘空间: 160 MB
mkdir ../binutils -build &&
cd ../binutils -build &&
../binutils-2.13/configure --prefix=$LFS/static --disable-nls &&
make LDFLAGS=-all-static &&
make install
ar
建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了
可以恢复原始文件内容。
as
as 主要用来编译GNU C编译器gcc输出的汇编文件,产生的输出文件由连接器ld连接。
gasp
gasp是一个汇编语言宏预处理器
gprof
gprof显示程序调用段各种数据。
ld
ld把一些目标和归档文件结合在一起,重定位数据,并链接符号引用。通常,建立一个新
编译程序的最后一步就是调用ld。
nm
nm 列出目标文件中的符号。
objcopy
objcopy 把一个目标文件中的内容复制到另一个目标文件。objcopy使用GNU BFD库来读写
目标文件。源文件和目的文件可以是不同的格式。
objdump
objdump显示一个或者更多目标文件的信息。使用选项来控制其显示的信息。
ranlib
ranlib产生归档文件索引,并将其保存到这个归档文件中
readelf
readelf 显示elf格式的可执行文件的信息。
size
size 列出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者
一个归档文件中的每个模块只产生一行输出。
strings
打印某个文件的可打印字符串,这些字符串最少4个字符长,也可以使用选项-n设置字符
串的最小长度。默认情况下,它只打印目标文件初始化和可加载段中的可打印字符;对于
其它类型的文件它打印整个文件的可打印字符。这个程序对于了解非文本文件的内容很有
帮助。
strings is mainly useful for determining the contents of non-text files.
strip
strip 丢弃某些目标文件中的全部或者特定符号。这些目标文件中可以包括归档文件。它
至少需要一个目标文件名作为参数。strip直接修改参数指定的文件,不为修改后的文件
重新命名。
包含的库文件
libbfd.[a,so] and libopcodes.[a,so]
具体说明
libbfd
二进制文件描述信息块
libopcodes
libopcodes 用来处理opcodes的库, 在生成一些应用程序的时候也会用到它, 比如
objdump.Opcodes是以文本格式可阅读的处理器操作指令.
安装Binutils依赖于
最后检查于 version 2.11.2.
Autoconf: autoconf, autoheader
Automake: aclocal, automake
Bash: sh
Binutils: ar, as, ld, nm, ranlib, strip
Diffutils: cmp
Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, rmdir, touch
Flex: flex
Gcc: cc, cc1, collect2, cpp0, gcc   <--------------------------------------------------------------------------我好像没有collect2
Glibc: ldconfig
Grep: egrep, fgrep, grep
M4: m4
Make: make
Gawk: gawk
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, true, uname
Texinfo: install-info, makeinfo
Textutils: cat, sort, tr, uniq
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-10-5 04:28 , Processed in 0.038486 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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