[英]Failed to build GCC 10 from source
On Oracle Linux, I'm trying to build a GCC toolchain from the following:在 Oracle Linux 上,我正在尝试从以下构建 GCC 工具链:
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.