![GCC 4.8.1 编译失败](https://linux22.com/image/1367332/GCC%204.8.1%20%E7%BC%96%E8%AF%91%E5%A4%B1%E8%B4%A5.png)
我使用的是 Ubuntu 13.04 64 位。这是错误消息:
checking for x86_64-unknown-linux-gnu-gcc... /home/hoangtu/Downloads/gcc-4.8.1/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/home/hoangtu/Downloads/gcc-4.8.1/host-x86_64-unknown-linux-gnu/gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -m32
checking for suffix of object files... configure: error: in `/home/hoangtu/Downloads/gcc-4.8.1/x86_64-unknown-linux-gnu/32/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/home/hoangtu/Downloads/gcc-4.8.1'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/hoangtu/Downloads/gcc-4.8.1'
make: *** [all] Error 2
Ubuntu 13.04 是否太新,gcc 无法检测到(它检测到 x86_64-unknown-linux-gnu-gcc)。我使用 Linux Mint 14 32 位编译成功。
编辑:检查 config.log,好像有一个测试失败:
configure:5876: gcc -o conftest -g -O2 conftest.c -lisl >&5
conftest.c:10:25: fatal error: isl/version.h: No such file or directory
compilation terminated.
configure:5876: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <isl/version.h>
| #include <string.h>
| int
| main ()
| {
| if (strncmp (isl_version (), "isl-0.10", strlen ("isl-0.10")) != 0)
| return 1;
|
| ;
| return 0;
| }
configure:5885: result: no
configure:5905: checking for version 0.11 of ISL
configure:5924: gcc -o conftest -g -O2 conftest.c -lisl >&5
conftest.c:10:25: fatal error: isl/version.h: No such file or directory
compilation terminated.
configure:5924: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <isl/version.h>
| #include <string.h>
| int
| main ()
| {
| if (strncmp (isl_version (), "isl-0.11", strlen ("isl-0.11")) != 0)
| return 1;
|
| ;
| return 0;
| }
configure:5933: result: no
configure:7090: checking for default BUILD_CONFIG
configure:7122: result: bootstrap-debug
configure:7611: checking for bison
configure:7627: found /usr/bin/bison
configure:7638: result: bison -y
configure:7658: checking for bison
configure:7674: found /usr/bin/bison
configure:7685: result: bison
configure:7705: checking for gm4
configure:7735: result: no
configure:7705: checking for gnum4
configure:7735: result: no
configure:7705: checking for m4
configure:7721: found /usr/bin/m4
configure:7732: result: m4
configure:7752: checking for flex
configure:7768: found /usr/bin/flex
configure:7779: result: flex
configure:7800: checking for flex
configure:7816: found /usr/bin/flex
configure:7827: result: flex
configure:7847: checking for makeinfo
configure:7863: found /usr/bin/makeinfo
configure:7874: result: makeinfo
configure:7908: checking for expect
configure:7938: result: no
configure:7957: checking for runtest
configure:7987: result: no
configure:8102: checking for ar
configure:8118: found /usr/bin/ar
configure:8129: result: ar
configure:8243: checking for as
configure:8259: found /usr/bin/as
configure:8270: result: as
configure:8384: checking for dlltool
configure:8414: result: no
configure:8525: checking for ld
configure:8541: found /usr/bin/ld
configure:8552: result: ld
configure:8666: checking for lipo
configure:8696: result: no
configure:8807: checking for nm
configure:8823: found /usr/bin/nm
configure:8834: result: nm
configure:8948: checking for ranlib
configure:8964: found /usr/bin/ranlib
configure:8975: result: ranlib
configure:9084: checking for strip
configure:9100: found /usr/bin/strip
configure:9111: result: strip
configure:9220: checking for windres
configure:9250: result: no
configure:9361: checking for windmc
configure:9391: result: no
configure:9502: checking for objcopy
configure:9518: found /usr/bin/objcopy
configure:9529: result: objcopy
configure:9643: checking for objdump
configure:9659: found /usr/bin/objdump
configure:9670: result: objdump
configure:9784: checking for readelf
configure:9800: found /usr/bin/readelf
configure:9811: result: readelf
configure:9964: checking for cc
configure:9980: found /usr/bin/cc
configure:9991: result: cc
configure:10125: checking for c++
configure:10141: found /usr/bin/c++
configure:10152: result: c++
configure:10286: checking for gcc
configure:10302: found /usr/bin/gcc
configure:10313: result: gcc
configure:10442: checking for gcj
configure:10472: result: no
configure:10603: checking for gfortran
configure:10619: found /usr/bin/gfortran
configure:10630: result: gfortran
configure:10764: checking for gccgo
configure:10794: result: no
configure:10855: checking for ar
configure:10888: result: no
configure:11005: checking for ar
configure:11021: found /usr/bin/ar
configure:11032: result: ar
configure:11085: checking for as
configure:11118: result: no
configure:11235: checking for as
configure:11251: found /usr/bin/as
configure:11262: result: as
configure:11315: checking for dlltool
configure:11348: result: no
configure:11465: checking for dlltool
configure:11495: result: no
configure:11545: checking for ld
configure:11578: result: no
configure:11695: checking for ld
configure:11711: found /usr/bin/ld
configure:11722: result: ld
configure:11775: checking for lipo
configure:11808: result: no
configure:11925: checking for lipo
configure:11955: result: no
configure:12005: checking for nm
configure:12038: result: no
configure:12155: checking for nm
configure:12171: found /usr/bin/nm
configure:12182: result: nm
configure:12235: checking for objdump
configure:12268: result: no
configure:12385: checking for objdump
configure:12401: found /usr/bin/objdump
configure:12412: result: objdump
configure:12465: checking for ranlib
configure:12498: result: no
configure:12615: checking for ranlib
configure:12631: found /usr/bin/ranlib
configure:12642: result: ranlib
configure:12695: checking for readelf
configure:12728: result: no
configure:12845: checking for readelf
configure:12861: found /usr/bin/readelf
configure:12872: result: readelf
configure:12925: checking for strip
configure:12958: result: no
configure:13075: checking for strip
configure:13091: found /usr/bin/strip
configure:13102: result: strip
configure:13155: checking for windres
configure:13188: result: no
configure:13305: checking for windres
configure:13335: result: no
configure:13385: checking for windmc
configure:13418: result: no
configure:13535: checking for windmc
configure:13565: result: no
configure:13593: checking where to find the target ar
configure:13626: result: host tool
configure:13635: checking where to find the target as
configure:13668: result: host tool
configure:13677: checking where to find the target cc
configure:13700: result: just compiled
configure:13719: checking where to find the target c++
configure:13745: result: just compiled
configure:13764: checking where to find the target c++ for libstdc++
configure:13790: result: just compiled
configure:13809: checking where to find the target dlltool
configure:13842: result: host tool
configure:13851: checking where to find the target gcc
configure:13874: result: just compiled
configure:13893: checking where to find the target gcj
configure:13919: result: just compiled
configure:13938: checking where to find the target gfortran
configure:13964: result: just compiled
configure:13983: checking where to find the target gccgo
configure:14019: result: host tool
configure:14028: checking where to find the target ld
configure:14061: result: host tool
configure:14070: checking where to find the target lipo
configure:14092: result: host tool
configure:14101: checking where to find the target nm
configure:14134: result: host tool
configure:14143: checking where to find the target objdump
configure:14176: result: host tool
configure:14185: checking where to find the target ranlib
configure:14218: result: host tool
configure:14227: checking where to find the target readelf
configure:14260: result: host tool
configure:14269: checking where to find the target strip
configure:14302: result: host tool
configure:14311: checking where to find the target windres
configure:14344: result: host tool
configure:14353: checking where to find the target windmc
configure:14386: result: host tool
configure:14423: checking whether to enable maintainer-specific portions of Makefiles
configure:14432: result: no
configure:14643: creating ./config.status
我将尝试安装 libisl 以查看其运行情况。
答案1
我能够检测到缺失的依赖项并修复它:检查 config.log 输出以查看缺少哪些库并安装它。例如,检查我第一篇文章中编辑部分中的 config.log;查看开头的几行,我缺少库 isl。我安装了它,问题就解决了。
您可以做同样的事情。虽然后来我遇到了另一个错误,我不得不禁用 multilib(--disable-multilib)。