Changes

1,950 bytes added ,  12:49, 12 July 2017
Moved
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 <code>autoconf curl g++ libtool</code> packages first.

<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
To build protobuf
<div class="mw-collapsible-content">
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 ../..
</div>
</div>

<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
To build protobuf-c
<div class="mw-collapsible-content">
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 ../..
</div>
</div>

<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
To cross-compile for ARM some more tricks will be required.
<div class="mw-collapsible-content">
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 ../..
</div>
</div>


[[Category: Building]]