GCC with -march : 无效切换

问题描述 投票:1回答:1

操作系统: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 --version

gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.

然后在用make编译cockroachDB的代码。构建失败,出现错误。

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

是否有任何需要启用的标志?(如果在Ubuntu 18.04上使用apt-get install g++-7从repo安装gcc,则不会出现这种错误)

c++11 gcc ubuntu-16.04 cockroachdb s390x
1个回答
0
投票

-march-z14 是在GCC 7发布后加入的 本次提交的GCC 8本次提交的GCC 7. 据我所知,这个提交已经进入了 GCC 7.2 的次要版本,所以 GCC 7.3 应该会有它。

错误信息是 的GCC错误信息,不过。(只有Ada前端的代码才会调用命令行选项 "switch"。)构建过程使用了Ubuntu 16.04系统中的其他东西,它不识别 -march=z14.

您可以使用 march=arch12 作为一种变通方法。(该 12 指的是《操作原则》的版本,目前差了两个)。)

© www.soinside.com 2019 - 2024. All rights reserved.