View Issue Details

IDProjectCategoryView StatusLast Update
0016301CentOS-8-OTHERpublic2019-07-30 14:49
Reporterdclark 
PriorityhighSeveritymajorReproducibilityalways
Status newResolutionopen 
Summary0016301: protobuf compiler out of date and missing support for grpc
Description*Build:* 8.0

*Summary:* The protobuf compiler requires a minimal version to support case insensitive keys, recommend version protobuf >= 3.7 which builds fine on v8.
The protobuf compiler, in order to support grpc specifications in the proto file definition of components, requires that the grpc package is built and installed on the system. Without grpc package installed the protoc compiler is missing core functionality.

*Impact:* Can not use protoc that is provided with the release to build most base packages. A key example is the standard package etcd.

*Workarounds:*
sudo dnf erase protobuf-compiler protobuf protobuf-c protobuf-devel

download protobuf
download grpc
build and install packages

*Detailed Description:*
Recommend for centos8 upgraded as far as possible in the protobuf and grpc available packages as this is an excellent point to move as close to the main branch as possible.

Recommend coupling grpc and protobuf for a development stream so that they can be moved together and upgraded as a unit.
TagsNo tags attached.

Activities

dclark

dclark

2019-07-30 14:25

reporter   ~0034885

1. example command that fails when grpc plugins are not available. Note, paths are present only for illustrative purposes as the environment was enhanced to operate correctly.
protoc --proto_path=.:/usr/include --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin google/api/http.proto
recommend protoc v >= 3.8 for centos8

All grpc plugins should be installed in normal location for use by protoc (based on mock build likely in /usr/bin) in order to support a variety of languages. (Note ruby is has been removed from this example but should be included in centos8 as well).

 ls /usr/local/bin/grpc*plugin
/usr/local/bin/grpc_cpp_plugin /usr/local/bin/grpc_node_plugin /usr/local/bin/grpc_php_plugin
/usr/local/bin/grpc_csharp_plugin /usr/local/bin/grpc_objective_c_plugin /usr/local/bin/grpc_python_plugin


2. grpc build may fail without more recent protoc due to current support for 'ruby' missing in the crufty prior protoc originally identified for release8.
Recommend grpc release >= v1.22 for centos8

3. protoc missing support for case_insensitive_enum_parsing due to version too crufty.
   grpc::protobuf::json::JsonParseOptions options;
  options.case_insensitive_enum_parsing = true;
dclark

dclark

2019-07-30 14:49

reporter   ~0034886

see related issue 0016303

Issue History

Date Modified Username Field Change
2019-07-30 14:14 dclark New Issue
2019-07-30 14:25 dclark Note Added: 0034885
2019-07-30 14:49 dclark Note Added: 0034886