If you would like to build protobuf from sources, you can use the following commands to obtain the source code repositories, configure, and build the code. On a Debian based system, you may have to install autoconf curl g++ libtool
packages first.
To build protobuf
cd deps git clone https://github.com/google/protobuf.git protobuf cd protobuf ./autogen.sh ./configure --prefix=`pwd`/../`uname -m`-linux-gnu make make install cd ../..
To build protobuf-c
cd deps git clone https://github.com/protobuf-c/protobuf-c.git protobuf-c cd protobuf-c ./autogen.sh mkdir ../pbc-`uname -m` cd ../pbc-`uname -m` ../protobuf-c/configure --prefix=`pwd`/../`uname -m`-linux-gnu \ PKG_CONFIG_PATH=`pwd`/../`uname -m`-linux-gnu/lib/pkgconfig make make install cd ../..
To cross-compile for ARM some more tricks will be required.
For ARMv7
cd deps mkdir -p pbc-arm cd pbc-arm ../protobuf-c/configure --host=arm-linux-gnueabihf --prefix=`pwd`/../arm-linux-gnueabihf \ --disable-protoc PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH make PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH make install PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH cd ../..
For ARM8
cd deps mkdir -p pbc-aarch64 cd pbc-aarch64 ../protobuf-c/configure --host=aarch64-linux-gnu --prefix=`pwd`/../aarch64-linux-gnu \ --disable-protoc PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH make PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH make install PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH cd ../..