构建glibc时出错

时间:2012-03-24 16:50:09

标签: linux debugging gcc glibc

我正在尝试安装glibc来调试我正在研究的C框架。但是,我在构建过程中遇到错误。这是错误消息:

make[3]: Leaving directory `/root/glibc-source/glibc-2.14/elf'
/usr/bin/install -c /root/glibc-2.14-build/elf/ld.so /usr/local/myglibc/lib/ld-2.14.so.new
mv -f /usr/local/myglibc/lib/ld-2.14.so.new /usr/local/myglibc/lib/ld-2.14.so
/usr/bin/install -c /root/glibc-2.14-build/libc.so /usr/local/myglibc/lib/libc-2.14.so.new
mv -f /usr/local/myglibc/lib/libc-2.14.so.new /usr/local/myglibc/lib/libc-2.14.so
echo ld-2.14.so /usr/local/myglibc/lib/ld-linux-x86-64.so.2 >> /root/glibc-2.14-build/elf/symlink.list
/usr/bin/install -c /root/glibc-2.14-build/elf/sotruss-lib.so /usr/local/myglibc/lib/audit/sotruss-lib.so.new
mv -f /usr/local/myglibc/lib/audit/sotruss-lib.so.new /usr/local/myglibc/lib/audit/sotruss-lib.so
make[2]: *** No rule to make target `/root/glibc-2.14-build/dlfcn/libdl.so.2', needed by `/root/glibc-2.14-build/elf/sprof'.  Stop.
make[2]: Leaving directory `/root/glibc-source/glibc-2.14/elf'
make[1]: *** [elf/subdir_install] Error 2
make[1]: Leaving directory `/root/glibc-source/glibc-2.14'
make: *** [install] Error 2

这是一个已知问题吗? 我上周早些时候在同一台机器上构建了glibc而没有任何错误。我正在重建它,因为glibc默认使用优化级别2(-O2)进行编译,我无法从代码转储中查看库函数中的一些变量的值,因为它们已经过优化。我目前正在尝试使用优化级别1进行编译。

由于

2 个答案:

答案 0 :(得分:5)

看起来你正试图make install,而没有先成功make all

答案 1 :(得分:1)

这是为了任何可能尝试在他们的ubuntu盒子上构建glibc的人的利益。 我遇到了以下问题,并通过以下方式解决了这些问题。

在ubuntu 12.04中遇到了这些问题

  • 我在与glib-VERSION相同的级别上创建了一个目录glib-build并运行了以下命令
  

$> ../glibc-2.16.0/configure --prefix = / home / gugovind / tsapp / glibc / glibc-build /

给了我以下错误,即makeinfo丢失。

表示

  

$> sudo apt-get install texinfo

将解决问题。

  • 它抛出了有关当前目录的LD_LIBRARY_PATH的错误(即使它不存在) 为此,在命令提示符

    中运行以下命令
      

    $>设置LD_LIBRARY_PATH

  •   
  这将暂时清除该控制台的LD_LIBRARY_PATH。然后再次运行configure。

您可能会遇到配置的另一个问题.. “函数strtonum从未定义过”

查看config.log文件,它可能缺少mawk或gawk。使用

安装它们
  

sudo apt-get install gawk

这可以帮助您完成配置部分。

现在运行

  

全部

如果您遇到特定文件未编译的情况..只需复制gcc ...然后再将其粘贴到命令提示符中,然后再将CD粘贴到该目录(错误之前的命令行应该告诉您哪里去。)

  

make install

您可能会收到有关无法找到etc / ld.config ...文件的警告。忽略那个.. 你们现在都定了。