%general-entities; ]> Protobuf-&protobuf-version; Protobuf Introduction to Protobuf The Protobuf package contains utilities and libraries for using data in Google's data interchange format. &lfs121_checked; Package Information Download (HTTP): Download MD5 sum: &protobuf-md5sum; Download size: &protobuf-size; Estimated disk space required: &protobuf-buildsize; Estimated build time: &protobuf-time; Protobuf Dependencies Required and Optional gtest (for tests) Installation of Protobuf Install Protobuf by running the following commands: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -Dprotobuf_BUILD_TESTS=OFF \ -Dprotobuf_ABSL_PROVIDER=package \ -Dprotobuf_BUILD_LIBUPB=OFF \ -Dprotobuf_BUILD_SHARED_LIBS=ON \ -Dutf8_range_ENABLE_INSTALL=OFF \ -G Ninja .. && ninja This package does come with a test suite, but it requires gtest, which is not part of BLFS. Now, as the &root; user: sed 's/utf8_range//' -i *.pc && ninja install Command Explanations sed 's/utf8_range//' -i *.pc: This command removes a leftover reference to libutf8_range from the pkg-config files installed by this package. -Dprotobuf_BUILD_TESTS=OFF: This parameter prevents the tests from being built because gtest is not part of BLFS. -Dprotobuf_ABSL_PROVIDER=package: This parameter allows the build system to use the system-installed copy of . -Dprotobuf_BUILD_SHARED_LIBS=ON: This parameter enables building shared versions of the libraries provided by this package instead of static versions. -Dutf8_range_ENABLE_INSTALL=OFF: This parameter disables installing the utf8_range static library. The functions provided by this library and used by protobuf is already embedded into libprotobuf.so, so installing a full copy of the static library is just wasting the disk space. Contents Installed Programs Installed Libraries Installed Directories protoc-26.1.0 and protoc (a symlink to protoc-26.1.0) libprotobuf.so, libprotobuf-lite.so, and libprotoc.so /usr/include/google, /usr/include/java, /usr/include/upb_generator, and /usr/lib/cmake/protobuf Short Descriptions protoc parses protocol buffer files and generates output for several programming languages and formats protoc libprotobuf.so contains functions for utilizing data in Google's data interchange format libprotobuf.so libprotobuf-lite.so contains a simpler version of the functions for utilizing data in Google's data interchange format libprotobuf-lite.so libprotoc.so contains functions used by protoc at runtime for outputting data for several programming languages and formats libprotoc.so