G cc Woverloaded-виртуальная ошибка на PowerP C ppc64le - PullRequest
0 голосов
/ 25 февраля 2020

Я работаю над строительством Istio-envoy на rhel7.6:ppc64le. Сборка проходит, однако есть тестовые сбои:

Ошибка:

In file included from test/server/filter_chain_benchmark_test.cc:19:0:`
`bazel-out/ppc-fastbuild/bin/external/com_github_google_benchmark/_virtual_includes/benchmark/benchmark/benchmark.h:1071:16: error: 'virtual void benchmark::Fixture::SetUp(benchmark::State&)' was hidden [-Werror=overloaded-virtual]`
   `virtual void SetUp(State& st) { SetUp(const_cast<const State&>(st)); }`
            `    ^~~~~`
`test/server/filter_chain_benchmark_test.cc:152:8: error:   by 'virtual void` `Envoy::Server::FilterChainBenchmarkFixture::SetUp(const benchmark::State&)' [-Werror=overloaded-virtual]
   void SetUp(const ::benchmark::State& state) override {
        ^~~~~`

Ссылка на файл с ошибкой https://github.com/istio/envoy/blob/release-1.3/test/server/filter_chain_benchmark_test.cc#L150

Пожалуйста, помогите мне отладить ошибку.

1 Ответ

1 голос
/ 28 февраля 2020

Одним из ключевых методов, используемых при отладке, является применение алгоритма Wolf Fence . Я бы использовал этот алгоритм отладки в этом случае. Этот алгоритм также обычно называют делением пополам.

Я бы рекомендовал начать следующим образом:

Большая часть разработки Envoy происходит на amd64 в Ubuntu 18.04. Исходя из моего опыта, RHEL7 отстает от основного мастера набора инструментов Power. Кроме того, исходя из моего опыта, в Ubuntu 18.04 есть более новая цепочка инструментов.

Вам обязательно потребуется по крайней мере glib c 2.18 , как обсуждалось в ветке списка рассылки Envoy, в которой я принимал непосредственное участие. , как один из многих сопровождающих проекта Istio. Отладка, которая имела место в этом потоке, показала, что RHEL7 включает glib c 2.17.

...