配置glibc时出错:需要.init_array / .fini_array支持链接器

时间:2013-04-30 09:40:55

标签: linux glibc lfs

我是linux或LFS的新手。我正在虚拟机上构建LFS 7.3。我使用的是Ubuntu 12.10。

由于未知原因,我无法使用cfdisk对硬盘进行分区,因此我在安装操作系统时创建了分区。我将$ LFS更改为/ home / lost + found(新分区)。 除此之外,我精确地遵循了LFS书中的所有教程,并且我已成功安装到书中的第5.6点。

现在我被困在安装第一台Glibc-2.17。 我使用以下命令配置:

../glibc-2.17/configure \
--prefix=/tools \
--host=$LFS_TGT \
--build=$(../glibc-2.17/scripts/config.guess) \
--disable-profile \
--enable-kernel=2.6.25 \
--with-headers=/tools/include \
libc_cv_forced_unwind=yes \
libc_cv_ctors_header=yes \
libc_cv_c_cleanup=yes

我尝试安装gawk,错误消息确实发生了变化。但配置时仍然出现以下错误:

checking for .preinit_array/.init_array/.fini_array support... no
configure: error: Need linker with .init_array/.fini_array support.
user@user:/home/lost+found/glibc-build$

可能有什么问题?

2 个答案:

答案 0 :(得分:2)

您可能尝试使用错误的编译器标记 - 优化或-fPIC或某种SSP/强化。尝试默认的优化标志,看它是否编译好

echo $CFLAGS
echo $CXXFLAGS
echo $CPPFLAGS

并检查glibc构建文件夹中的configparm文件以获取规范

答案 1 :(得分:0)

我似乎忘记了64位主机的一些特殊配置。我尝试使用ubuntu 32位再次安装,一切正常。