LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: ftyh

为什么会binutils-2.13 出现segmentation fault

[复制链接]
发表于 2003-3-21 14:27:44 | 显示全部楼层
少了头文件。装上glibc-devel这个rpm包
 楼主| 发表于 2003-3-21 15:26:35 | 显示全部楼层
哦,谢谢了。
 楼主| 发表于 2003-3-21 15:56:19 | 显示全部楼层
但是现在有一个问题就是我的系统已经有安装了glibc-devel了啊。是否需要重新安装glibc-devel呢?
我的glibc-devel是2.2.93
我的系统是Magic linux 1.1b
glibc-2.2.93
发表于 2003-3-21 23:12:39 | 显示全部楼层
那你看看是不是没有装glibc-static?
还是把glibc和gcc的开发包都装上吧,因为静态编译,很多头文件都需要的。
发表于 2003-3-22 00:07:01 | 显示全部楼层
不是编译环境的问题..他这里是第五章..编译的只是gcc-core..并不需要g++的
他是用错包了..用的不是gcc-core包..gcc核心包里不可能有C++的代码..只有一个c的编译器..C的编译器怎么可能用C++的代码写呢..?
发表于 2003-3-22 00:32:42 | 显示全部楼层
sorry,看得不够仔细,该打!
sleeve兄说的没错,的确是因为用了g++的缘故。我老是想着glibc去了。
 楼主| 发表于 2003-3-22 11:31:19 | 显示全部楼层
sleeve说的没错,我在IRC里已经向他请教了。
的确是这样的。
但是现在在编译第6章的glibc-2.3.1的时候,明明有ar,ranlib.....这些东西,为什么在configure 的时候,却说没有呢?
具体为下面的:
configure: warning:
*** These auxiliary programs are missing or incompatible versions: msgfmt autoconf
*** some features will be disabled.
*** Check the INSTALL file for required versions.
gcc: installation problem, cannot exec `/static/lib/gcc-lib/i686-pc-linux-gnu/3.2/../../../../i686-pc-linux-gnu/bin/as': No such file or directory
../glibc-2.3.1/configure: line 2236: /static/lib/gcc-lib/i686-pc-linux-gnu/3.2/../../../../i686-pc-linux-gnu/bin/ar: No such file or directory
cp: cannot stat `conftest.a': No such file or directory
../glibc-2.3.1/configure: line 2238: /static/lib/gcc-lib/i686-pc-linux-gnu/3.2/../../../../i686-pc-linux-gnu/bin/ranlib: No such file or directory
configure: error: cannot determine asm global directive


前面的错误在于安装手册里有提到是因为缺少了msgfmt引起的。
但是后面的错误是不是就是前半部分的原因引起的呢?
 楼主| 发表于 2003-3-22 14:11:56 | 显示全部楼层
我在第5章编译GCC完之后,检查了静态连接的情况时,发现GCC生成的可执行文件怎么编译都有动态连接。
ldd $LFS/static/bin/*
结果如下:
/mnt/lfs/static/bin/addr2line:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/ar:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/as:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/c++filt:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/gprof:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/ld:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/nm:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/nohup:
        not a dynamic executable
/mnt/lfs/static/bin/objcopy:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/objdump:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/ranlib:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/readelf:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/size:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/strings:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/mnt/lfs/static/bin/strip:
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
 楼主| 发表于 2003-3-22 14:13:17 | 显示全部楼层
请问这是正常的现象吗?为什么我重编译了几次都是这样的呢?
发表于 2003-3-22 14:19:47 | 显示全部楼层
没有试过检查他们的链接,理论上讲是不对的,而你后来编译又出现了seg fault,这里还是值得怀疑一下。你可以试试编译好的第五章static目录,很多兄弟在第五章卡住都是用那个过去的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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