C++11 GCC带-march:无效开关

C++11 GCC带-march:无效开关,c++11,gcc,ubuntu-16.04,cockroachdb,s390x,C++11,Gcc,Ubuntu 16.04,Cockroachdb,S390x,操作系统:Ubuntu 16.04 s390x Gcc:使用下面提到的步骤从源代码v7.3.0构建: mkdir gcc cd gcc wget https://ftpmirror.gnu.org/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz tar -xf gcc-7.3.0.tar.xz cd gcc-7.3.0 ./contrib/download_prerequisites mkdir objdir cd objdir ../configure --prefix=/opt

操作系统:Ubuntu 16.04 s390x
Gcc:使用下面提到的步骤从源代码v7.3.0构建:

mkdir gcc
cd gcc
wget https://ftpmirror.gnu.org/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz
tar -xf gcc-7.3.0.tar.xz
cd gcc-7.3.0
./contrib/download_prerequisites
mkdir objdir
cd objdir
../configure --prefix=/opt/gcc --enable-languages=c,c++ --enable-shared --with-system-zlib --enable-threads=posix --enable-__cxa_atexit --enable-checking --enable-gnu-indirect-function  --disable-bootstrap --disable-multilib
make
make install
ln -sf /opt/gcc/bin/gcc /usr/bin/gcc
ln -sf /opt/gcc/bin/g++ /usr/bin/g++
ln -sf /opt/gcc/bin/g++ /usr/bin/c++
export PATH=/opt/gcc/bin:"$PATH"
export LD_LIBRARY_PATH=/opt/gcc/lib64:"$LD_LIBRARY_PATH"
export C_INCLUDE_PATH=/opt/gcc/lib/gcc/s390x-linux-gnu/7.3.0/include
export CPLUS_INCLUDE_PATH=/opt/gcc/lib/gcc/s390x-linux-gnu/7.3.0/include
sudo ln -sf /opt/gcc/lib64/libstdc++.so.6.0.24 /usr/lib/s390x-linux-gnu/libstdc++.so.6
gcc——版本

然后使用make编译蟑螂数据库的代码。生成失败,出现错误:

Error: invalid switch -march=z14
Error: unrecognized option -march=z14
这里有需要启用的标志吗?

(如果gcc是使用Ubuntu 18.04上的apt get install g++-7从repo安装的,则未发现此类错误)

-march-z14
是在gcc 7发布到和之后添加的。据我所知,GCC7.2小版本中包含了这个提交,所以GCC7.3应该有它

不过,该错误消息不是GCC错误消息。(只有Ada前端调用命令行选项“switches”中的代码)构建过程使用Ubuntu 16.04系统中的其他代码,该系统无法识别
-march=z14

您可以使用
march=arch12
作为解决方法。(
12
指的是《操作原理》的版本,该版本目前被关闭了两个。)

Error: invalid switch -march=z14
Error: unrecognized option -march=z14