Protobuf-27.3

Introduksjon til Protobuf

Protobuf pakken inneholder verktøy og biblioteker for bruk av data i Googles datautvekslingsformat.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.2 plattform.

Pakkeinformasjon

Protobuf Avhengigheter

Påkrevd

Abseil-cpp-20240722.0 og CMake-3.30.2

Valgfri

gtest (for tester)

Installasjon av Protobuf

Installer Protobuf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr      \
      -D CMAKE_BUILD_TYPE=Release       \
      -D CMAKE_SKIP_INSTALL_RPATH=ON    \
      -D protobuf_BUILD_TESTS=OFF       \
      -D protobuf_ABSL_PROVIDER=package \
      -D protobuf_BUILD_LIBUPB=OFF      \
      -D protobuf_BUILD_SHARED_LIBS=ON  \
      -D utf8_range_ENABLE_INSTALL=OFF  \
      -G Ninja ..                       &&
ninja

Denne pakken kommer med en testpakke, men den krever gtest, som ikke er en del av BLFS.

Nå, som root bruker:

sed 's/utf8_range//' -i *.pc &&
ninja install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

sed 's/utf8_range//' -i *.pc: Denne kommandoen fjerner en gjenværende referanse til libutf8_range fra pkg-config-filene installert av denne pakken.

-D protobuf_BUILD_TESTS=OFF: Denne parameteren forhindrer testene fra å bygges pga gtest ikke er en del av BLFS.

-D protobuf_ABSL_PROVIDER=package: Denne parameteren lar byggesystemet bruke den systeminstallerte kopien av Abseil-cpp-20240722.0.

-D protobuf_BUILD_SHARED_LIBS=ON: Denne parameteren gjør det mulig å bygge delte versjoner av bibliotekene som tilbys av denne pakken i stedet for statiske versjoner.

-D utf8_range_ENABLE_INSTALL=OFF: Denne parameteren deaktiverer installasjon av utf8_range statiske bibliotek. Funksjonene levert av dette biblioteket og brukt av protobuf er allerede innebygd i libprotobuf.so, så å installere en full kopi av det statiske biblioteket sløser bare med diskplass.

Innhold

Installerte Programmer: protoc-26.1.0 og protoc (en symbolkobling til protoc-26.1.0)
Installerte Biblioteker: libprotobuf.so, libprotobuf-lite.so, og libprotoc.so
Installerte Mapper: /usr/include/google, /usr/include/java, /usr/include/upb_generator, og /usr/lib/cmake/protobuf

Korte Beskrivelser

protoc

analyserer protokollbufferfiler og genererer utdata for flere programmeringsspråk og formater

libprotobuf.so

inneholder funksjoner for bruk av data i Googles datautveksling format

libprotobuf-lite.so

inneholder en enklere versjon av funksjonene for å utnytte data i Googles datautvekslingsformat

libprotoc.so

inneholder funksjoner som brukes av protoc under kjøretid for utdata for flere programmeringsspråk og formater