0

I am working on building Istio-envoy on rhel7.6:ppc64le. The build passes, however there are test failures:

Error:

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 {
        ^~~~~`

The link of the error-ed file https://github.com/istio/envoy/blob/release-1.3/test/server/filter_chain_benchmark_test.cc#L150

Please help me debugging the error.

AishwaryaK
  • 61
  • 2
  • 11

1 Answers1

1

One key technique used in debugging is the application of the Wolf Fence algorithm. I would use this debugging algorithm in this case. This algorithm is also commonly referred to as bisecting.

I would recommend starting in this fashion:

Most Envoy development happens on amd64 on Ubuntu 18.04. Based on my experience, RHEL7 lags upstream master of the Power toolchain. Further, based on my experience, Ubuntu's 18.04 has a newer toolchain.

You will definitively require at least glibc 2.18 as discussed in the Envoy mailing list thread that I participated directly in, as one of many maintainers of the Istio project. The debugging that took place in that thread had indicated that RHEL7 includes glibc 2.17.

Steven Dake
  • 850
  • 6
  • 4
  • Is there a way to install glib2.18 on rhel7.6 ppc64le? – AishwaryaK Feb 28 '20 at 09:29
  • I would [compile from source](https://stackoverflow.com/questions/10412684/how-to-compile-my-own-glibc-c-standard-library-from-source-and-use-it/10412926#10412926) glibc 2.18 on a throw-away development environment such as a virtual machine. Some flags may be needed for Power architectures. The linked question has other valuable links to documentation. – Steven Dake Mar 15 '20 at 16:11