Difference between revisions of "Build protobuf"

From CRIU
Jump to navigation Jump to search
(Moved)
 
 
Line 1: Line 1:
 
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.
 
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">
+
== Build protobuf ==
To build protobuf
+
<pre>
<div class="mw-collapsible-content">
 
 
  cd deps
 
  cd deps
 
  git clone https://github.com/google/protobuf.git protobuf
 
  git clone https://github.com/google/protobuf.git protobuf
Line 12: Line 11:
 
  make install
 
  make install
 
  cd ../..
 
  cd ../..
</div>
+
</pre>
</div>
 
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
+
== Build protobuf-c ==
To build protobuf-c
+
<pre>
<div class="mw-collapsible-content">
 
 
  cd deps
 
  cd deps
 
  git clone https://github.com/protobuf-c/protobuf-c.git protobuf-c
 
  git clone https://github.com/protobuf-c/protobuf-c.git protobuf-c
Line 29: Line 26:
 
  make install
 
  make install
 
  cd ../..
 
  cd ../..
</div>
+
</pre>
</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
 
  
 +
== Cross-compile for ARM ==
 +
=== ARMv7 ===
 +
<pre>
 
  cd deps
 
  cd deps
 
  mkdir -p pbc-arm
 
  mkdir -p pbc-arm
Line 45: Line 39:
 
  make install PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH
 
  make install PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH
 
  cd ../..
 
  cd ../..
 +
</pre>
  
For ARM8
+
=== ARM8 ===
 
+
<pre>
 
  cd deps
 
  cd deps
 
  mkdir -p pbc-aarch64
 
  mkdir -p pbc-aarch64
Line 56: Line 51:
 
  make install PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH
 
  make install PATH=`pwd`/../`uname -m`-linux-gnu/bin:$PATH
 
  cd ../..
 
  cd ../..
</div>
+
</pre>
</div>
 
  
  
 
[[Category: Building]]
 
[[Category: Building]]

Latest revision as of 12:52, 12 July 2017

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.

Build protobuf[edit]

 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 ../..

Build protobuf-c[edit]

 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 ../..

Cross-compile for ARM[edit]

ARMv7[edit]

 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 ../..

ARM8[edit]

 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 ../..