iftest-z "$CC"; then ac_verc_fail=yes else # Found it, now check the version. echo"$as_me:$LINENO: checking version of $CC">&5 echo $ECHO_N "checking version of $CC... $ECHO_C">&6 ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 3.[2-9]*|4.[0-3]*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
/usr/include/bits/fcntl2.h:51:error: call to '__open_missing_mode' declared with attribute error:open with O_CREAT in second argument needs 3 arguments
In file included from version.c:33: /home/tekkaman/working/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.1-glibc-2.3.2/build-glibc/csu/version-info.h:2:1: missing terminating " character /home/tekkaman/working/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.1-glibc-2.3.2/build-glibc/csu/version-info.h:3:1: missing terminating " character
google后发现,原来是ubuntu将系统默认的shell设置成了dash (the Debian Almquist Shell),所以通过脚本生成的文件格式和bash的不一样,导致了编译错误。在使用了ursa的方法后问题解决。
博主,你好
我用你的方法在fedora11下进行编译,我用的组合就内核不一样,如下:
gcc-4.1.1
cgcc-3.3.6
glibc-2.3.2
binutils-2.16.1
linux-2.6.29.4(就这里不一样,因为FC11内核为它,所以我想用它)
hdrs-2.6.12.0
然后在编译时出现错误:
configure: error:
*** These critical programs are missing or too old: gcc
*** Check the INSTALL file for required versions.
请问是gcc版本过高的原因吗,与内核没有关系吧?