[英]cc1plus: error: unrecognized command line option “-Wno-implicit-fallthrough” [-Werror]
[英]Error: unrecognized command line option ‘-Wno-invalid-source-encoding’ [-Werror] within building Mesos
我的操作系統是 Ubuntu 18.10。 我在三個節點上按照這些步驟進行: 為了安裝 Mesos,我一步一步地完成了這些步驟,沒有任何錯誤,除了每個節點都已經有 Open JDK 8,所以我沒有再次安裝 Open JDK 8。
sudo apt-get update
sudo apt-get install -y tar wget git
sudo apt-get install -y openjdk8-jdk (I did not do that)
sudo apt-get install -y autoconf libtool
sudo apt-get -y install build-essential python-dev python-six python-
virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven
libapr1-dev libsvn-dev zlib1g-dev iputils-ping
當我想構建 Mesos 時,問題就開始了。 我為此做了以下步驟:
cd mesos-1.7.0
./bootstrap
mkdir build
cd build
../configure
make
我的 IP 地址是 150.20.11.137,150.20.11.134,150.20.11.157。 我下載了所有的 Mesos 包並在相同的路徑中解壓。 我在每個節點上都做了 <../configure> 沒有任何問題,但是當我運行“make”時,我在每個節點上都出現了這個錯誤:
third_party/cares/cares/ares_init.c:在函數“ares_dup”中:third_party/cares/cares/ares_init.c:301:17:錯誤:“strncpy”調用中“sizeof”的參數與源表達式相同; 你的意思是使用目的地的大小嗎? [-Werror=sizeof-pointer-memaccess]
sizeof(src->local_dev_name));
^
third_party/cares/cares/ares_init.c:在頂層:
cc1:錯誤:無法識別的命令行選項“-Wno-invalid-source- encoding”[-Werror] cc1:所有警告都被視為錯誤
make[4]: *** [Makefile:2635: /home/spark/mesos-1.7.0/build/3rdparty/grpc-1.10.0/objs/opt/third_party/cares/cares/ares_init.o] 錯誤 1
make[4]:離開目錄'/home/spark/mesos-1.7.0/build/3rdparty/grpc-1.10.0'
make[3]: *** [Makefile:1446: grpc-1.10.0-build-stamp] 錯誤 2
make[3]:離開目錄'/home/spark/mesos-1.7.0/build/3rdparty'
make 2]: *** [Makefile:1035: all-recursive] 錯誤 1
make[2]: 離開目錄 '/home/spark/mesos-1.7.0/build/3rdparty'
make[1]: *** [Makefile:765: all] 錯誤 2
make[1]: 離開目錄 '/home/spark/mesos-1.7.0/build/3rdparty'
make: *** [Makefile:768: all-recursive] 錯誤 1
問題解決了。 問題是因為 GCC 版本。 Ubuntu 18.10 中的 GCC 版本是 8.2.0。 我用這個指令安裝了 gcc-5 和 g++-5:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
然后要選擇我想要的 GCC 版本,我必須為 gcc 安裝“update-alternatives”。 因此,我運行這些命令:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 500 --slave
/usr/bin/g++ g++ /usr/bin/g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave
/usr/bin/g++ g++ /usr/bin/g++-8
之后,我使用以下命令選擇了 gcc-5:
sudo update-alternatives --config gcc
此外,我有一個與 OpenSSL 相關的錯誤; 然后我通過這個命令安裝了它:
sudo apt-get install libssl-dev
在這些修改之后,我開始安裝 Mesos,並且安裝沒有任何錯誤。 我希望這個插圖對其他人有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.