Line 70: |
Line 70: |
| ** sudo apt-get install --no-install-recommends git build-essential libprotobuf-dev libprotobuf-c0-dev protobuf-c-compiler protobuf-compiler python-protobuf libnl-3-dev libpth-dev pkg-config libcap-dev asciidoc xmlto libnet-dev | | ** sudo apt-get install --no-install-recommends git build-essential libprotobuf-dev libprotobuf-c0-dev protobuf-c-compiler protobuf-compiler python-protobuf libnl-3-dev libpth-dev pkg-config libcap-dev asciidoc xmlto libnet-dev |
| | | |
− | ==== Building Protocol Buffers From Source ====
| + | [[Build protobuf]] from sources |
− | If you would like to build from source, 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>
| |
| | | |
| === Other deps === | | === Other deps === |