6.2版本在第六章编译binutils时出现cannot run C compiled programs错误
时间:2009-05-04
来源:互联网
我使用LFS6.2在虚拟机上构建系统,按照书上做到6.11编译Binutils的时候执行MAKE命令时出现下面的错误
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
在前一节调整工具链的时候做检查时本来是都没有错的,
但是在编译binutils发现错误后返回来我又做了一遍检查(在作第二次检查之前我备份了specs文件),发现其他检测是正确的但是不能找到那几个开始文件了(crt1.o,crti.o,crtn.o),重复做了几次修改specs的命令,都不行。现在我应该怎么做?是我的开始文件丢失了还是specs文件错误了,正确的specs文件关于开始文件的描述是怎么样的?
还有就是关于修改specs文件的命令
perl -p -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;'
他的意思是什么意思,好像和sed的解释有点不同??
作者: 南极野人 发布时间: 2009-05-04
在虚拟机中,本来是在命令行下做,由于不放心敲打那么长的命令,在进行到5.7. 调整工具链,执行完:
GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include &&
find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` &&
unset GCC_INCLUDEDIR
后,准备起来X后重新从头做,结果在2.3. 在新分区上创建文件系统时候,准备重新编译 E2fsprogs 包,然后用这个重新编译过的工具来创建文件系统,configure时候出错了:
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
看了看config.log,有那么点有用的信息:
Thread model: posix
gcc version 4.1.2 (Gentoo 4.1.2 p1.1)
configure:1800: $? = 0
configure:1802: cc -V </dev/null >&5
gcc: '-V' option must have argument
configure:1805: $? = 1
configure:1828: checking for C compiler default output file name
configure:1831: cc conftest.c >&5
configure:1834: $? = 0
configure:1880: result: a.out
configure:1885: checking whether the C compiler works
configure:1891: ./a.out
../configure: line 1892: ./a.out: No such file or directory
configure:1894: $? = 127
configure:1903: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
不知道咋回事
作者: kissinger_1984 发布时间: 2009-05-05
不过问题好像已经解决了,可能还是specs文件的原因。
由于之前错误在 开始文件 这个地方,所以一开始就只单独执行修改startfile 段的代码,但是这样做又出现其他检测项错误,然而为了方便起见又单独执行其他修改代码(虽然只有两段修改代码),但这样做总是又检测项出错,
后来发现用, gcc -dumpspecs 导出的specs文件并不是来自存储在gcc目录下的那个specs文件,无论你怎么改,他导出来的文件都一样,所以所有的修改必须同时修改才行,
哎,得出结论是,对于咱这样的新手还是完完全全的照着手册来吧
作者: 南极野人 发布时间: 2009-05-05
作者: kissinger_1984
我碰到了类似的问题。
在虚拟机中,本来是在命令行下做,由于不放心敲打那么长的命令,在进行到5.7. 调整工具链,执行完: GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include && find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; && rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` && unset GCC_INCLUDEDIR 后,准备起来X后重新从头做,结果在2.3. 在新分区上创建文件系统时候,准备重新编译 E2fsprogs 包,然后用这个重新编译过的工具来创建文件系统,configure时候出错了: checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. 不知道咋回事 |
作者: 南极野人 发布时间: 2009-05-05
作者: kissinger_1984 发布时间: 2009-05-06
作者: kissinger_1984
我看不出来啥问题啊,大侠,能指教下怎么查看宿主编译器的问题呢
|
作者: 南极野人 发布时间: 2009-05-06
作者: 南极野人
能说一 下你的环境不?看你的描述好像是在WIN下用虚拟机?是用的LIVECD?
|
Portage 2.1.6.11 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r6 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r6-i686-Intel-R-_Core-TM-2_Duo_CPU_T7250_@_2.00GHz-with-glibc2.0
Timestamp of tree: Tue, 28 Apr 2009 15:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash: 3.2_p17-r1
dev-lang/python: 2.4.3-r4, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache: 2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox: 1.2.18.1-r2
sys-devel/autoconf: 2.13, 2.61-r2
sys-devel/automake: 1.4_p6, 1.7.9-r1, 1.9.6-r2, 1.10.1
sys-devel/binutils: 2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool: 1.5.26
virtual/os-headers: 2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O3 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://gentoo.anheng.com.cn/gentoo http://mirror.averse.net/pub/gentoo/ http://61.135.158.199 http://ftp.isu.edu.tw/pub/Linux/Gentoo ftp://ftp.isu.edu.tw/pub/Linux/Gentoo http://ftp.twaren.net/Linux/Gentoo/ ftp://ftp.twaren.net/Linux/Gentoo/ http://ftp.ncnu.edu.tw/Linux/Gentoo/ ftp://ftp.ncnu.edu.tw/Linux/Gentoo/ http://ftp.cs.pu.edu.tw/Linux/Gentoo/ ftp://ftp.cs.pu.edu.tw/Linux/Gentoo/ http://gentoo.cs.nctu.edu.tw/gentoo/ ftp://gentoo.cs.nctu.edu.tw/gentoo/ "
LANG="en_US.utf8"
LDFLAGS=""
LINGUAS="zh zh_CN zh_TW"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://mirror.averse.net/gentoo-portage"
USE="X acl alsa berkdb cdr cjk cli cracklib crypt cups dri dvd fortran gdbm gpm gtk iconv ipv6 isdnlog kde midi mmx mudflap ncurses nls nptl nptlonly opengl openmp pam pcre pppd qt3 qt3support qt4 readline reflection session spl sse sse2 ssl tcpd truetype unicode utf8 x86 xorg zlib" ALSA_CARDS="ens1371" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="zh zh_CN zh_TW" USERLAND="GNU" VIDEO_CARDS="vesa vga vmware"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
作者: kissinger_1984 发布时间: 2009-05-07
作者: kissinger_1984
我是Win下虚拟机Gentoo。不是liveCD,就是新增了一块虚拟硬盘做LFS,那问题本来第一次做没有的,就像我描述的,后来想在X从头下做,比较好复制长命令么,就出现了问题,大侠请看看我的emerge --info:
Portage 2.1.6.11 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r6 i686) |
至于你的问题,可以试一试第六章检测GCC的方法看看能不能找到原因,虽然检测的结果肯定不一样,但是那几个文件肯定是需要存在且正常工作的,一些搜索路径之类的相对与宿主机也因该是真确的。
或许可以回到字符界面再试下,看能否编译通过,也许是X的启动导致某些环境的改变呢?
还有可以看看youbest的佳作
如何提高LFS的成功率:http://www.linuxsir.org/bbs/showthread.php?t=252928
我是也是刚接触LFS不久,只能给你些简单提示了,希望能够对你有些帮助。
作者: 南极野人 发布时间: 2009-05-07
我已经OK了。但是我编译完就给 mkfs.ext3了。
因为我水平很差,之能用用suse之类简单的东西。
因为我实在没信心配置我的 X。太复杂了.....
作者: linux_pro 发布时间: 2009-05-07
作者: linux_pro 发布时间: 2009-05-07
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28