Chinaunix

标题: configure: error: C compiler cannot creat executables. [打印本页]

作者: lxpursue    时间: 2013-07-08 21:58
标题: configure: error: C compiler cannot creat executables.
在编译crosstool时,因为 gcc 版本过高而失败。于是换了一个 gcc-3.4(原来的是 gcc-4.6.3),但又遇到了下面的问题:

       configure: error: installation or configuration problem: C compiler cannot create executables.

已经将gcc-3.4 链接到 /usr/bin/ 下面了。而且编译一个C文件时也没通过:
   
    /usr/bin/ld: cannot find crt1.o: No such file or directory
    /usr/bin/ld: cannot find crti.o: No such file or directory
    /usr/bin/ld: cannot find -lgcc_s
    collect2: ld returned 1 exit status


不知道是不是找不到库文件或者是安装路径不对(我是用 apt-get 安装的),还是应该给 gcc-3.4 安装一个较低版本的 glibc ,那么应选哪个版本呢?在网上找了好多办法,但都以失败告终。。跪求大神指点!

作者: lxpursue    时间: 2013-07-08 22:08
看到一段这样描述的:
一般出现这种错误有以下几种原因:
1.系统缺乏对应的库文件;
2.版本不对应;
3.库文件的链接错误;
4.库文件路径设置问题。


只是不知道怎么确定 gcc-3.4 所对应的库文件及版本,路径怎样设置才正确??
作者: T-Bagwell    时间: 2013-07-09 06:50
编译到最后一步的时候,把最后一步的命令参数记下来
然后手动执行,加上一个-v来看一下gcc最终collect的是哪里的crt.o
作者: mr_sev    时间: 2013-07-10 15:25
这撒比
作者: archer239915    时间: 2013-09-03 10:22
crt1.o ... 都是gcc要链接的目标文件,在/usr/lib/crt1.o

作者: crifan    时间: 2013-09-06 21:05
建议:
如果只是为了编译交叉编译器,那么建议:
不要再用,相对可以说是老掉牙的crosstool
而改用最新,好用,功能更丰富的crosstool-ng

相关用法可参考:
crosstool-ng详解




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2