Protobuf-29.3

Introduction à Protobuf

Le paquet Protobuf contient des utilitaires et des bibliothèques pour utiliser des données au format d'échange de données de Google.

Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.3.

Informations sur le paquet

Dépendances de Protobuf

Requises

Abseil-cpp-20250127.0 et CMake-3.31.5

Facultatives

gtest (pour les tests)

Installation de Protobuf

Installez Protobuf en exécutant les commandes suivantes :

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  \
      -G Ninja ..                       &&
ninja

Ce paquet a bien une suite de tests, mais elle nécessite gtest qui ne fait pas partie de BLFS.

Maintenant, en tant qu'utilisateur root :

ninja install

Explication des commandes

-D CMAKE_SKIP_INSTALL_RPATH=ON : ce paramètre fait supprimer les chemins de recherche des bibliothèques (rpath) codés en dur par cmake lors de l'installation d'un fichier exécutable binaire ou d'une bibliothèque partagée. Ce paquet n'a pas besoin des rpath une fois installé à l'emplacement standard et les rpath peuvent parfois avoir des effets indésirables, voire introduire des problèmes de sécurité.

-D protobuf_BUILD_TESTS=OFF : ce paramètre évite que les tests ne soient construits car gtest ne fait pas partie de BLFS.

-D protobuf_ABSL_PROVIDER=package : ce paramètre permet au système de construction d'utiliser la copie installée sur le système de Abseil-cpp-20250127.0.

-D protobuf_BUILD_SHARED_LIBS=ON : ce paramètre active la construction des versions partagées des bibliothèques fournies par ce paquet au lieu des versions statiques.

Contenu

Programmes installés: protoc-29.3.0 et protoc (un lien symbolique vers protoc-29.3.0)
Bibliothèques installées: libprotobuf.so, libprotobuf-lite.so, libprotoc.so, libutf8_range.so et libutf8_validity.so
Répertoires installés: /usr/include/google, /usr/include/java, /usr/include/upb_generator, /usr/lib/cmake/protobuf et /usr/lib/cmake/utf8_range

Descriptions courtes

protoc

analyse syntaxiquement les fichiers protocol buffer et génère une sortie pour plusieurs langages de programmations et plusieurs formats

libprotobuf.so

contient les fonctions pour utiliser des données dans le format d'échange de données de Google

libprotobuf-lite.so

contient une version simplifiée des fonctions pour utiliser des données dans le format d'échange de données de Google

libprotoc.so

contient des fonctions utilisées par protoc à l'exécution pour afficher les données pour plusieurs langages de programmations et plusieurs formats

libutf8_range.so

contient les fonctions qui permettent à un programme de déterminer si une séquence de caractères est une séquence UTF-8 valide

libutf8_validity.so

contient les fonctions qui permettent à un programme de déterminer si une séquence d'octets est une séquence UTF-8 valide et de trouver le plus long préfixe valide de cette séquence