LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1049|回复: 7

第六章6.11(安装Glibc)和6.12(再次调整工具链)出现的问题

[复制链接]
发表于 2006-3-4 18:43:31 | 显示全部楼层 |阅读模式
我用的 LiveCD的版本是6.1.1-1

在我安装到6.11时,按照中文手册运行“ make check”时,
我得到如下的结果:
    "
       libgcc_s.so.1 must be installed for phtread_ cancel
      to work
       Didn't expect signal from child: got 'Aborted'
       make [2]: ***
      [/sources/glibc-build/nptl/tst-mutex8.out] Error 1
       make [2]: Leaving directory
      `/sources/glibc-2.3.4/nptl'
       make [1]: *** [/nptl/tests] Error 2
       make [1]: Leaving directory `/sources/glibc-2.3.4/'
       make: *** [check] Error 2
      "
然后我运行"touch /etc/ld.so.conf"和"make install" 命令,出现
如下的结果:
    "
     CC="gcc" /usr/bin/perl script/test-installation.pl
    /sources/glibc-build/
     Your new glibc installation seems to be ok.
     make [1]: Leaving directory `sources/glibc-2.3.4'
    "

之后,我进入6.12,调整工具链,

   运行"make -C ld INSTALL=/tools/bin/install install"命令,

   和修改specs的perl命令之后,进行测试:

    echo 'main(){}' > dummy.c
      cc dummy.c
在编译dummy.c文件时,出现了如下错误:

    "
    /tools/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/bin/ld:
    can not find -lgcc_s

     collect2: ld returned 1 exit status
    "

这是我第三遍出现的相同的错误了,请问各位大侠和斑竹“终极幻想”怎么解决这个问题?
我在论坛也发现e3lb89cz也出现过相同的问题,但是没有人给出解答。
发表于 2006-3-4 18:47:04 | 显示全部楼层
libgcc_s.so.1 没有好?
应该是 gcc 的错误.
回复 支持 反对

使用道具 举报

发表于 2006-3-4 18:49:34 | 显示全部楼层
恩,是gcc没装对。第五章 5.11,最后 make install  是否成功?

find /tools -name libgcc_s\*
结果?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-4 20:02:08 | 显示全部楼层
用斑竹的命令查询后,输出:
    /tools/lib/libgcc_s.so.1
    /tools/lib/libgcc_s.so
回复 支持 反对

使用道具 举报

发表于 2006-3-4 20:10:31 | 显示全部楼层
ldd /tools/lib/libgcc_s.so
gcc --print-file specs

结果是?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-4 20:23:23 | 显示全部楼层

感谢斑竹

ldd  /tools/lib/libgcc_s.so  的输出结果是:

    ldd: warning: you do not have execution permission for
                         '/tools/lib/libgcc_s.so'

       linux-gate.so.1  => (0xffffe000)
       libc.so.6 => /lib/libc.so.6 (0xb7e6a000)
       /lib/ld-linux.so.2 (0x80000000)

gcc --print-file specs  的输出结果是:

    /tools/lib/gcc/i686-pc-linux-gnu/3.4.3/specs
回复 支持 反对

使用道具 举报

发表于 2006-3-4 20:51:45 | 显示全部楼层
chmod +x /tools/lib/libgcc_s.so

libc.so.6 => /lib/libc.so.6 (0xb7e6a000)
/lib/ld-linux.so.2 (0x80000000)
错了, gcc 链接到 host 了. 从 gcc pass2 开始重编.
回复 支持 反对

使用道具 举报

发表于 2006-3-4 21:13:18 | 显示全部楼层
你可以 碰碰运气, 只重新编译 gcc-pass2 ,其他的不编.

不推荐,纯属 碰运气.

最好 gcc-pass2 开始重编. 这以后的 软件 都应该链接到 /tools .

chroot之前,用我的这个脚本检查:
http://www.linuxsir.cn/bbs/showthread.php?t=244102
回复 支持 反对

使用道具 举报

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

本版积分规则

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