简体   繁体   English

无法从源代码构建 GCC 10

[英]Failed to build GCC 10 from source

On Oracle Linux, I'm trying to build a GCC toolchain from the following:在 Oracle Linux 上,我正在尝试从以下构建 GCC 工具链:

  • GCC 10.1.0 GCC 10.1.0
  • binutils 2.34二进制实用程序 2.34
  • GDB 9.2.0 GDB 9.2.0

All of these are the latest released sources as of today.所有这些都是截至今天最新发布的资源。 I've configured like so:我是这样配置的:

../gcc10-toolchain/configure \
    --prefix=/opt/gcc10-toolchain \
    --with-diagnostics-color=auto \
    --with-system-zlib \
    --with-system-lzma \
    --enable-languages="c,c++,lto" \
    --enable-shared \
    --enable-static \
    --enable-gold=default \
    --enable-install-libbfd \
    --enable-plugins \
    --enable-default-pie \
    --enable-linker-build-id \
    --enable-threads=posix \
    --enable-checking=release \
    --enable-__cxa_atexit \
    --enable-initfini-array \
    --enable-gnu-indirect-function \
    --enable-tui \
    --enable-bootstrap \
    --disable-multilib \
    --disable-libgcj \
    --disable-nls \
    --disable-lto \
    --disable-libstdcxx-debug

However, when building with make , I get the following errors:但是,使用make构建时,出现以下错误:

../../gcc10-toolchain/gcc/lto-streamer-out.c: In function ‘void write_symbol_extension_info(tree)’: ../../gcc10-toolchain/gcc/lto-streamer-out.c:2790:10: error: ‘GCCST_VARIABLE’ was not declared in this scope
        ? GCCST_VARIABLE : GCCST_FUNCTION);
          ^ ../../gcc10-toolchain/gcc/lto-streamer-out.c:2790:27: error: ‘GCCST_FUNCTION’ was not declared in this scope
        ? GCCST_VARIABLE : GCCST_FUNCTION);
                           ^ ../../gcc10-toolchain/gcc/lto-streamer-out.c:2797:18: error: ‘GCCSSK_BSS’ was not declared in this scope   section_kind |= GCCSSK_BSS;

Unfortunately I could not find anything on this online, and have no idea where to even begin looking.不幸的是,我在网上找不到任何东西,甚至不知道从哪里开始寻找。

The issue was the order in which I copied the sources together.问题是我将源代码复制在一起的顺序。 binutils-2.34 is older than gcc-10.1.0, and so gcc-10.1.0 be copied in last so that it overwrites the files shared with binutils, not the other way around. binutils-2.34 比 gcc-10.1.0 更早,所以最后复制 gcc-10.1.0 以便它覆盖与 binutils 共享的文件,而不是相反。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM