Changes

110 bytes removed ,  18:56, 26 March 2015
Line 19: Line 19:  
=== Compiler and C Library ===
 
=== Compiler and C Library ===
   −
CRIU is mostly written in C and the build system is based on Makefiles. Thus just install standard <code>gcc</code> and <code>make</code> sets.
+
CRIU is mostly written in C and the build system is based on Makefiles. Thus just install standard <code>gcc</code> and <code>make</code> packages (on Debian, <code>[https://packages.debian.org/build-essential build-essential]</code> will pull in both at once).
   −
Some additional steps are required if you're using Debian.
+
If you are cross compiling for ARM, use distribution packages or download prebuilt toolchains from Linaro.
 
  −
* For native compilation on Debian based systems, install the <code>build-essential</code> package.
  −
* On a modern Debian based x86_64 you will need to install the <code>lib32stdc++6</code> and <code>lib32z1</code> packages.
  −
 
  −
For cross compiling for ARM and AArch64, the Linaro prebuilt toolchains are a good choice which are ia32 architecture binaries.
      
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
Installing them is like this.
+
Downloading Linaro toolchains
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
 +
sudo apt-get install lib32stdc++6 lib32z1 # These are ia32 binaries
 
  mkdir -p deps/`uname -m`-linux-gnu
 
  mkdir -p deps/`uname -m`-linux-gnu
 
  cd deps
 
  cd deps
Line 43: Line 39:  
=== Protocol Buffers ===
 
=== Protocol Buffers ===
   −
CRIU uses the [https://developers.google.com/protocol-buffers/ Google Protocol Buffers] to read and write [[images]] and thus requires [https://github.com/protobuf-c/protobuf-c C language bindings]. The <code>protoc</code> tool is required at build time and the <code>libprotobuf-c.so</code> is required at build and run time. [[CRIT]] also uses python language bindings for protocol buffers and requires the <code>descriptor.proto</code> file from devel set that can be typically found in the <code>protobuf-devel</code> package.  
+
CRIU uses the [https://developers.google.com/protocol-buffers/ Google Protocol Buffers] to read and write [[images]] and thus requires [https://github.com/protobuf-c/protobuf-c C language bindings]. The <code>protoc</code> tool is required at build time and the <code>libprotobuf-c.so</code> shared object is required at build and run time. [[CRIT]] also uses python language bindings for protocol buffers and requires the <code>descriptor.proto</code> file typically provided by a distribution's protobuf development package.
    
==== Distribution Packages ====
 
==== Distribution Packages ====
Line 51: Line 47:  
** <code>protobuf</code>
 
** <code>protobuf</code>
 
** <code>protobuf-c</code>
 
** <code>protobuf-c</code>
** <code>protobuf-python</code>
+
** <code>protobuf-c-devel</code>
 
** <code>protobuf-compiler</code>
 
** <code>protobuf-compiler</code>
 
** <code>protobuf-devel</code>
 
** <code>protobuf-devel</code>
** <code>protobuf-c-devel</code>
+
** <code>protobuf-python</code>
 
* Debian package names
 
* Debian package names
 +
** <code>libprotobuf-c0-dev</code>
 
** <code>protobuf-c-compiler</code>
 
** <code>protobuf-c-compiler</code>
** <code>libprotobuf-c0-dev</code>
   
** <code>protobuf-compiler</code>
 
** <code>protobuf-compiler</code>
 
** <code>protobuf-python</code>
 
** <code>protobuf-python</code>
    
==== Building Protocol Buffers From Source ====
 
==== Building Protocol Buffers From Source ====
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 do <code>autoconf curl g++ libtool</code> first.
+
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">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
50

edits