google / google/autofdo

autofdo does not build with protobuf-34.2

Open
#265 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
619
Forks
127
PR merge metrics
No merged PRs in 30d

Description

As is the default install on my opensuse tumbleweed system:

Lots of errors like:

[ 1%] Building CXX object CMakeFiles/perf_proto.dir/third_party/perf_data_converter/src/quipper/perf_data.pb.cc.o
In file included from /src2/src2/autofdo/build/third_party/perf_data_converter/src/quipper/perf_data.pb.h:21,
from /src2/src2/autofdo/build/third_party/perf_data_converter/src/quipper/perf_data.pb.cc:6:
/usr/include/google/protobuf/io/coded_stream.h:151:61: error: variable ‘google::protobuf::io::ABSL_ATTRIBUTE_WARN_UNUSED google::protobuf::io::CodedInputStream’ has initializer but incomplete type
151 | class PROTOBUF_EXPORT PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CodedInputStream {
| ^~~~~~~~~~~~~~~~
/usr/include/google/protobuf/io/coded_stream.h:152:2: error: expected primary-expression before ‘public’
152 | public:
| ^~~~~~
/usr/include/google/protobuf/io/coded_stream.h:152:2: error: expected ‘}’ before ‘public’
/usr/include/google/protobuf/io/coded_stream.h:151:78: note: to match this ‘{’
151 | class PROTOBUF_EXPORT PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CodedInputStream {
| ^
/usr/include/google/protobuf/io/coded_stream.h:152:2: note: probably missing a comma or an operator before
152 | public:
| ^~~~~~
/usr/include/google/protobuf/io/coded_stream.h:643:5: error: variable ‘google::protobuf::io::ABSL_ATTRIBUTE_WARN_UNUSED google::protobuf::io::EpsCopyOutputStream’ has initializer but incomplete type
643 | EpsCopyOutputStream {
| ^~~~~~~~~~~~~~~~~~~
/usr/include/google/protobuf/io/coded_stream.h:644:2: error: expected primary-expression before ‘public’

Contributor guide

Open the contributing guide

Research direction

Reproduce the default openSUSE Tumbleweed CMake build and inspect the generated third_party/perf_data_converter/src/quipper/perf_data.pb.cc and .pb.h files alongside the protobuf io/coded_stream.h errors. Trace the compatibility issue with protobuf 34.2; done means autofdo builds successfully with that installed protobuf version.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.