This page describes the Ice-E source distribution, including information about compiler requirements, and instructions for building and testing.
Ice-E is supported on Linux, and was extensively tested using the operating system and compiler versions listed for our supported platforms.
The Ice-E build system supports both on device and cross compiling. If you wish to cross compile you need to setup a cross development environment.
For instructions on how to setup a cross development environment, refer to the setting up your cross development environment section in the Ice-E usage page for your target platform.
Ice-E depends on the python
, Berkeley DB 5.3
, bzip2
, expat
and openssl
development libraries.
Ensure that python
, Berkeley DB 5.3
, bzip2
, expat
and openssl
development
packages from Debian repositories are installed.
Ensure the python
, Berkeley db 5.3
, bzip2
, expat
and ssl
development
packages are installed on your image. If you are cross compiling they must be
included in your SDK.
Edit Makefile
to establish your build configuration. The
comments in the file provide more information.
If you are cross compiling make sure you have configured your cross development environment.
In a command window, run make
to build Ice-E. This will build:
- the Ice for C++ static and dynamic libraries,
- Ice for Python,
- the
slice2cpp
,slice2py
andslice2freeze
Slice compilers, dumpdb
,glacier2router
,icebox
,iceboxadmin
andtransformdb
executables, and- the C++ and Python test suites.
The C++ static and dynamic libraries are built in a subfolder of cpp/lib
. The
subfolder's name is dependent on your target platform.
Run make install
to install Ice-E in the directory specified by the prefix
variable in Makefile
.
You can run allTests.py
from the root directory by running:
python allTests.py
If you are cross-compiling, you will first need to deploy the test suite to the target device:
$ make test_deploy
This command will deploy the Ice-E test suite to the device specified by the
DEPLOY_TARGET
variable in Makefile
.
Note that the ssh daemon must be running in the device.
After successfully deploying the test suite, open an ssh session to the target, and change to the deployment directory.
ssh [email protected]
cd icee
python allTests.py
To run the string converter test it is necessary that your image
contain the glibc-utils
and glibc-gconvs
packages.
To run the glacier2 tests you need to manually install pip
and
subsequently passlib
. The zeroc-image-testing
image in the ZeroC meta layer
contains the necessary build dependencies. You can install pip by following these instructions,
then install passlib by running:
pip install passlib