错误:生成Mesos中无法识别的命令行选项"-Wno无效源编码"[-Weror]

Error: unrecognized command line option ‘-Wno-invalid-source-encoding’ [-Werror] within building Mesos

本文关键字:quot -Wno 无效 编码 -Weror 选项 Mesos 生成 命令行 识别 错误      更新时间:2023-10-16

我的操作系统是Ubuntu 18.10。我在三个节点上执行以下步骤:为了安装Mesos,我一个接一个地完成了这些步骤,没有任何错误,只是每个节点都已经有了Open JDK 8,所以我没有再安装Open JDK。

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.137150.20.11.134150.20.11.157。我下载了所有Mesos软件包,并在相同的路径中提取。我做了<配置>在每个节点上都没有任何问题;制造";我在每个节点上都得到了这个错误:

third_party/cares/cares_init.c:在函数"ares_dup"中:第三方/cares/cares_init.c:301:17:错误:"strncpy"调用中"sizeof"的参数与源是同一表达式;做你的意思是用目的地的大小?[-Weror=指针大小-memaccess

<blockquote\
sizeof(src->local_dev_name));
>
^

third_party/cares/ares_init.c:在顶级:

cc1:错误:无法识别的命令行选项"-Wno无效源-编码'[-Weror]cc1:所有警告都被视为错误

make[4]:***[Makefile:2635:/home/spark/mesos-1.7.0/build/3rdparty/grpc-1.10.0/ojs/opt/third_party/cares/cares_init.o]错误1

make[4]:离开目录'/home/spark/mesos-1.7.0/构建/第三方/grpc-1.10.0'

make[3]:***[Makefile:1446:grpc-110.0-build-stamp]错误2

make[3]:离开目录"/home/spark/mesos-1.7.0/build/3rdparty">

make 2]:***[生成文件:1035:所有递归]错误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安装"更新替代方案"。因此,我运行以下命令:

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,它的安装没有任何错误。我希望这幅插图对其他人有帮助。