Gcc Woverloaded-virtual error on PowerPC ppc64le

↘锁芯ラ 提交于 2021-01-29 14:38:57

问题


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.


回答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.



来源:https://stackoverflow.com/questions/60394286/gcc-woverloaded-virtual-error-on-powerpc-ppc64le

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!