Ошибка: нераспознанная опция командной строки ‘-Wno-invalid-source-encoding’ [-Werror] в сборке Mesos - PullRequest
0 голосов
/ 09 января 2019

Я хочу установить Flink на кластере Mesos для управления ресурсами. Фактически у меня был кластер Kafka из трех узлов. Я хочу поделиться кластером Kafka с кластером Mesos, поэтому мне нужно установить Mesos на каждый узел кластера Kafka. Моя операционная система убутну 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

Проблема начинается, когда я хочу построить Мезос. Я сделал эти шаги для этого:

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: ошибка: аргумент «sizeof» в вызове «strncpy» совпадает с выражением источника; сделал Вы имеете в виду использовать размер пункта назначения? [-Werror = SizeOf-pointer- memaccess]

       sizeof(src->local_dev_name));
             ^

third_party / cares / cares / ares_init.c: на верхнем уровне:

cc1: ошибка: нераспознанный параметр командной строки ‘-Wno-invalid-source- кодировка ’[-Werror] cc1: все предупреждения рассматриваются как ошибки

make [4]: ​​*** [Makefile: 2635: / home / spark / mesos- 1.7.0 / сборки / 3rdparty / grpc- 1.10.0 / objs / opt / third_party / cares / cares / ares_init.o] Ошибка 1

make [4]: ​​выход из каталога '/ home / spark / mesos- 1.7.0 / сборки / 3rdparty / КПГР-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: полностью рекурсивный] Ошибка 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: полностью рекурсивный] Ошибка 1

Подскажите, пожалуйста, как я могу решить эту проблему?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 января 2019

Проблема решена. Проблема была из-за версии GCC. Версия GCC в Ubuntu 18.10 - 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, я должен установить «update-альтернативы» для 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, и он установился без ошибок. Я надеюсь, что эта иллюстрация была полезна для других.

...