View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0016301||CentOS-8||-OTHER||public||2019-07-30 14:14||2019-07-30 14:49|
|Target Version||Fixed in Version|
|Summary||0016301: protobuf compiler out of date and missing support for grpc|
*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.
sudo dnf erase protobuf-compiler protobuf protobuf-c protobuf-devel
build and install packages
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.
|Tags||No tags attached.|
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).
/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.
options.case_insensitive_enum_parsing = true;
|see related issue 0016303|