错误:无法识别的命令行选项“-wno invalid source encoding”[-werror]在生成mesos中

von4xj4u  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(641)

我想在mesos集群上设置flink进行资源管理。事实上,我有一个Kafka集群的三个节点。我想与mesos集群共享kafka集群,所以我必须在kafka集群的每个节点上安装mesos。我的操作系统是ubutnu18.10。我在三个节点上遵循这些步骤:为了安装mesos,我一个接一个地执行了这些步骤,没有任何错误,只是每个节点都已经打开了jdk8,所以我没有再次安装openjdk8。

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包,并在同一路径中提取。我在每个节点上都<../configure>没有任何问题,但是当我运行“make”时,在每个节点上都出现了以下错误:
third\u party/cares/cares/ares\u init.c:在函数“ares\u dup”中:third\u party/cares/ares\u init.c:301:17:错误:“strncpy”调用中“sizeof”的参数与源的表达式相同;你想用目的地的大小吗[-werror=sizeof pointer-memaccess]

sizeof(src->local_dev_name));
             ^

第三方/cares/cares/ares\u init.c:顶层:
cc1:错误:无法识别的命令行选项“-wno invalid source-encoding”[-werror]cc1:所有警告都被视为错误
制造商[4]:***[makefile:2635:/home/spark/mesos-1.7.0/build/3rdparty/grpc-1.10.0/objs/opt/third\u party/cares/cares/ares\u init.o]错误1
make[4]:离开目录'/home/spark/mesos-1.7.0/build/3rdparty/grpc-1.10.0'
制造商[3]:***[makefile:1446:grpc-1.10.0-build-stamp]错误2
make[3]:离开目录“/home/spark/mesos-1.7.0/build/3rdparty”
使2]:***[makefile:1035:all recursive]错误1
make[2]:正在离开目录“/home/spark/mesos-1.7.0/build/3rdparty”
制造商[1]:*[makefile:765:all]错误2
make[1]:正在离开目录“/home/spark/mesos-1.7.0/build/3rdparty”
品牌:
[makefile:768:all recursive]错误1
你能告诉我怎么解决这个问题吗?
先谢谢你。

zaqlnxep

zaqlnxep1#

问题解决了。问题是因为gcc版本。ubuntu18.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安装“updatealternatives”。因此,我运行以下命令:

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

相关问题