问题标签 [linux-from-scratch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8890 浏览

linux - 如何将精灵解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

如果我的问题不准确,我深表歉意,因为我没有很多 Linux 相关经验。我目前正在从头开始构建 Linux(主要遵循 linuxfromscratch.org 7.3 版的指南)。我遇到了以下问题:当我构建一个可执行文件时,它会获得一个名为 ELF 解释器的硬编码路径。

显示类似

我跟踪这个库 ld-linux-so.2 成为 glibc 的一部分。我对这种行为不太满意,因为它使二进制文件非常不可移植 - 如果我更改 /lib/ld-linux.so.2 的位置,可执行文件不再工作,我发现的唯一“修复”是使用 patchelf NixOS 的实用程序将硬编码路径更改为另一个硬编码路径。出于这个原因,我想链接到 ld 库的静态版本,但没有生成。所以这是我的问题,你能否解释一下我如何构建 glibc 以便它生成一个静态版本的 ld-linux.so.2,我稍后可以链接到我的可执行文件。我不完全理解这个 ld 库的作用,但我认为这是加载其他动态库(或至少 glibc.so)的部分。我想动态链接我的可执行文件,但我希望动态链接器本身静态内置于其中,因此它们不会依赖于硬编码路径。或者,我希望能够使用类似于 LD_LIBRARY_PATH 的环境变量设置解释器的路径,也许是 LD_INTERPRETER_PATH。目标是能够生成可移植的二进制文件,无论目录结构是什么,它都可以在具有相同 ABI 的任何平台上运行。

一些可能相关的背景:我正在使用 Slackware 14 x86 来构建 i686 编译器工具链,所以总的来说它都是 x86 主机和目标。我正在使用 glibc 2.17 和 gcc 4.7.x。

0 投票
1 回答
1358 浏览

linux - 构建 LFS - 5.7 错误:需要链接器支持 .init_array/.fini_array

我即将Linux从头开始构建我的第一个......

现在,将glibc结果构建到以下问题:

有了这条消息,glibc-2.18/configure工具会在 config.log 中分解,它有时会说:

我想这些错误是相关的。

我正在运行一台64 位机器。一些有类似错误的人说,这可能是错误的原因——但这不应该是,对吧?

我希望你们中的一些人可以帮助我,或者至少解释那里发生了什么。

我的/tools文件夹中有ld和,为什么找不到?readelf

0 投票
1 回答
1477 浏览

linux - gcc 安装错误

我尝试使用 make install 编译 gcc,它给了我这个:

我目前正在为lfs编译它,我也在 32 位计算机上的单独目录中

0 投票
2 回答
2215 浏览

linux - 如何使用自定义链接器脚本编译 ld?

我正在尝试构建 linux 内核 3.8 的自定义版本,我希望我的链接器表现得有点不同,所以我改变了它的 ldscripts。具体来说,我配置 binutils -> make -> change ldscripts -> make install。但是,当我尝试使用链接器编译 libc 时,我看到的唯一内容是:

ETC

问题是我已经更改了我的 ldscripts 并在每个脚本的开头添加了一个标签以识别它们,但我的编译器似乎并不关心。但是,我的系统中没有任何其他精灵脚本,因此搜索错误库路径的选项实际上不是一个选项。

我在这里缺少什么吗?

请注意,我正在为 sparc 进行交叉编译

0 投票
1 回答
3847 浏览

linux - 如何从 Linux From Scratch(LFS) 安装 LiveCD?

我构建 linux、LFS,并且我想将 LFS 构建为 ISO,并且可以作为 live CD 运行,并且可以将 LFS GUI 安装到硬盘上。每个人都可以帮助我吗?

0 投票
1 回答
4771 浏览

configure - mpfr-3.1.2 的配置错误缺少 libgmp 但在 /usr/lib 中

我从头开始在 linux 上执行第 6.15.1 步。当我尝试配置 mpfr 时出现错误...

任何想法将不胜感激。

如果我查看 \usr\lib 我有 libgmp.{a,la,so,so.10,so.10.1.2} 和 libgmpxx.{a,la,so,so.4,so.4.3.2}所以我不确定它在寻找什么 libgmp。我已经从 mpfr 网站安装了“allpatches”。我曾尝试使用“ABI=32 .configure ...”安装 gmp 而没有安装。gmp 测试 awk 显示计数为 185,所以我假设所有 185 都通过了。任何日志都来自我上次尝试使用“ABI”选项的 gmp。

这是我为 mpfr-3.1.2 运行配置的方式。

这是运行顺序(帖子太大,所以我剪掉了一部分):

这是 config.log(我的帖子太大了,所以剪掉了顶部)....

0 投票
3 回答
179 浏览

ruby - 如何使用某个 ruby​​ 版本?

我尝试在 LFS 批处理系统上运行脚本。该集群提供了旧版本的 ruby​​,所以我必须在我的帐户上本地安装我的 gems 和 rvm。有没有办法在批处理系统上运行我本地安装的 ruby​​ 版本?我的脚本在我的帐户上运行良好,但在 LFS 上却不行,因为 mechanize 依赖于较新的 ruby​​ 版本。

0 投票
1 回答
2862 浏览

gcc - LFS:`bash:/tools/bin/gcc:没有这样的文件或目录`

我打字

不知何故会发生这种情况:

显然,$PATH 有效并且正在查找 /tools/bin/gcc。我已经进入 $LFS 并且正在执行此步骤:http ://www.linuxfromscratch.org/lfs/view/stable/chapter06/linux-headers.html 。

编辑:现在make mrproper不再给我找不到 gcc 错误。诡异的。

EDIT2:没关系,

0 投票
1 回答
268 浏览

linux - IPC::Open3 以与独立 snmwalk 命令不同的行为运行 snmpwalk

我制作了一个自定义 sub 来使用 Open3 在 perl 中运行各种终端命令。

我在使用 snmpwalk 时遇到了一个奇怪的问题,当我在终端中运行该命令时它可以工作,但使用 Open3 则不会。

子是这样的:

我称之为:

如果我想运行以下命令:

snmpwalk -c public -v1 somehostname NETAPP-MIB::aggrName

它以 $err 的形式返回:

snmpwalk:未指定安全名称

如果我在终端中运行完全相同的命令,它会返回我的结果:

NETAPP-MIB::aggrName.1 = 字符串:“SAS2”

NETAPP-MIB::aggrName.2 = 字符串:“SATA1”

...

我发现 NET::SNMP 可以解决我的问题,但由于硬化的 linux 操作系统没有安装选项,我无法安装它。

我真的不明白为什么它不起作用。

perl -v:5.8.8

谢谢!

0 投票
1 回答
844 浏览

linux - 通过 LFS 7.5 构建 iso 时缺少 gd.h 标头错误

我正在尝试通过 LFS 7.5 技术构建基于 centos6 的 iso。在准备 glibc 进行编译(第 38 页)时,我收到错误(在链接处登录)“fatal error: gd.h no such file ...”,尽管头文件存在于我的 /usr/include 中。任何解决方案/修复?

http://www.4shared.com/file/TbVJ0AuLce/config.html