Skip to content

Latest commit

 

History

History
100 lines (64 loc) · 3.18 KB

BuildInstructions.md

File metadata and controls

100 lines (64 loc) · 3.18 KB

Building Ice-E

This page describes the Ice-E source distribution, including information about compiler requirements, and instructions for building and testing.

Build Requirements

Operating Systems and Compilers

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.

Third-Party Libraries

Ice-E depends on the python, Berkeley DB 5.3, bzip2, expat and openssl development libraries.

Debian

Ensure that python, Berkeley DB 5.3, bzip2, expat and openssl development packages from Debian repositories are installed.

Yocto

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.

Building Ice-E

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 and slice2freeze Slice compilers,
  • dumpdb, glacier2router, icebox, iceboxadmin and transformdb 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.

Installing Ice-E

Run make install to install Ice-E in the directory specified by the prefix variable in Makefile.

Test Suite

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

Yocto Notes

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