-
Notifications
You must be signed in to change notification settings - Fork 4
build
OS: Ubuntu 12.04 LTS or Debian Wheezy 7.0
C/C++ compiler: gcc version >=4.6 with C++11 options
Java 7 compiler: openjdk java-7 JDK
Maven: v3.0.4 or more
For C++, the recommended versions for building are: autoconf >= 2.69, automake >= 1.14, libtool >= 2.6, pkg-config >= 0.26, GCC >= 4.8
CPU: 4 core or more
RAM: 8 Go or more
Utilities: uuid, open-iscsi, open-iscsi-utils, nbd-client
NBD tests: you need to have a kernel version >=3.7 to test the command 'flush'.
Recommended package: xfsprogs (to use xfs on the data storage partitions)
Network configuration: need to open two consecutive ports for exchanging between nodes
Package for cinder install: unzip, python(>=2.7.3), curl
Prerequisite tools must be built first by executing the following in directory tools/:
./install
The first time, the project must be built completely by going to the root directory and executing:
mvn -DskipTests -DskipNarTests -DskipNarJniTests -PskipNarTestsCompile clean install
This will not execute the tests and produce a vost assembly. To execute unit tests, remove the skip properties (see Unit tests for more information)
mvn clean install
After a complete build, each module can be built separately by going to the modules directory and executing the same commands. To produce a different assembly, go to the directory main/assembly.
To create the vost assembly:
mvn install
To create the cinost assembly:
mvn -Pcinost install
To create the vostwui assembly:
mvn -Pvostwui install
To create the cinostwui assembly:
mvn -Pcinostwui install
Install needed tools:
yum clean all
yum install uuid libuuid-devel dosfstools.x86_64 xfsprogs.x86_64
yum install java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk-devel.x86_64
yum install pkg-config glib2-devel.x86_64 compat-glibc.x86_64 compat-glibc-headers.x86_64
yum groupinstall "Development tools"
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -O /etc/yum.repos.d/devtools-1.1.repo
yum install devtoolset-1.1
Now enable gcc 4.7 with:
scl enable devtoolset-1.1 bash
To install maven from source see http://maven.apache.org/ for instructions.
Update autotools from source, for example:
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar -zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure && make install
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar -zxvf automake-1.14.tar.gz
cd automake-1.14
./configure && make install
wget http://mirror.ibcp.fr/pub/gnu/libtool/libtool-2.4.2.tar.gz
tar -zxvf libtool-2.4.2.tar.gz
cd libtool-2.4.2
./configure && make install
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
tar -zxvf pkg-config-0.28.tar.gz
cd pkg-config-0.28
./configure && make install
If not already done enable gcc 4.7 for the user that will compile the sources:
scl enable devtoolset-1.1 bash
Use the following command line to produce an assembly:
mvn -DskipTests -DskipNarTests -DskipNarJniTests -PskipNarTestsCompile clean install
yum install maven
yum install libtool.x86_64
yum install gcc-c++.x86_64
yum install uuid libuuid-devel
Use the following command line to produce an assembly:
mvn -DskipTests -DskipNarTests -DskipNarJniTests -PskipNarTestsCompile clean install
We skip unit tests in the above instructions to reduce the duration of the build.