Build the Google Protocol Bufffers library

You must follow the steps in this section if you are building the environment for ONNX. If you are configuring the Arm NN build environment for TensorFlow Lite only, you can skip this section and move to the Generate the build dependencies for TensorFlow Lite section.

Protocol Buffers (protobuf) is a language-neutral, platform-neutral, and extensible mechanism that Google developed. You can use protobuf to serialize structured data.

Build protobuf using the C++ installation instructions that you can find on the protobuf GitHub. To build protobuf, take the following steps:

  1. Use the following example code to build protobuf using a C++ installation:

    git submodule update --init --recursive
    ./autogen.sh
    mkdir aarch64_build
    cd aarch64_build
    
    CC=aarch64-linux-gnu-gcc \
    CXX=aarch64-linux-gnu-g++ \
    ../configure --prefix=<path>/google/aarch64_pb_install \
    --with-protoc=<path>/google/aarch64_pb_install/bin/protoc
    

    Arm has tested version 3.12.0 of Google protobuf. Other versions might work.

  2. Copy the built program and its libraries and documentation to the correct locations using the following command:

    make install -j16
Previous Next