Glencoe Software is pleased to announce a set of pre-built Ice 3.6 binaries and wheel packages available for the deployment of OMERO server and clients.

What is ZeroC Ice?

ZeroC Ice is an open-source software used by OMERO for communicating between the client and the server. It needs to be available as a dependency both on the client and server environments. Thus its ease of installation is critical for developers who want to work against their data in OMERO as well as system administrators who want to deploy OMERO.

Client installation

Java clients can simply depend on the zeroc-ice JAR files available through the Central Repository. Python clients need to install the ZeroC Ice extension for Python. Since Ice 3.6.0, this extension is available through the PyPi repository both as a source distribution and as wheel packages. The 3.6.5 wheel packages are only available for a subset of platforms and end-of-life Python versions. In most scenarios, installing the Ice Python bindings requires building from source, which can take up to several tens of minutes and will often require additional patches to work with recent Python or OpenSSL versions.

To ease OMERO.py deployment, we have pre-built Ice package wheels. The table below summarizes the wheels available for Linux and OS X:

Operating system Architecture Python version Wheel package
Linux x86_64 3.8 zeroc_ice-3.6.5-cp38-cp38-manylinux_2_28_x86_64.whl
Linux x86_64 3.9 zeroc_ice-3.6.5-cp39-cp39-manylinux_2_28_x86_64.whl
Linux x86_64 3.10 zeroc_ice-3.6.5-cp310-cp310-manylinux_2_28_x86_64.whl
Linux x86_64 3.11 zeroc_ice-3.6.5-cp311-cp311-manylinux_2_28_x86_64.whl
macOS x86_64 3.8 zeroc_ice-3.6.5-cp38-cp38-macosx_11_0_x86_64.whl
macOS x86_64 3.9 zeroc_ice-3.6.5-cp39-cp39-macosx_11_0_x86_64.wh
macOS x86_64
arm64
3.10 zeroc_ice-3.6.5-cp310-cp310-macosx_11_0_universal2.whl
macOS x86_64
arm64
3.11 zeroc_ice-3.6.5-cp311-cp311-macosx_11_0_universal2.whl

Server installation

In addition to the Ice Python extension described above, deploying an OMERO.server requires binaries including the IceGrid administration tool. We also compiled a set of pre-built binaries under the major operating systems supported by OMERO Plus:

Operating system Binary Wheel package
Ubuntu 22.04 Ice-3.6.5-ubuntu2204-x86_64.tar.gz zeroc_ice-3.6.5-cp310-cp310-linux_x86_64.whl
RHEL 8 Ice-3.6.5-rhel8-x86_64.tar.gz zeroc_ice-3.6.5-cp39-cp39-linux_x86_64.whl
Rocky Linux 8 Ice-3.6.5-rhel8-x86_64.tar.gz zeroc_ice-3.6.5-cp39-cp39-linux_x86_64.whl
RHEL 9 Ice-3.6.5-rhel9-x86_64.tar.gz zeroc_ice-3.6.5-cp39-cp39-linux_x86_64.whl
Rocky Linux 9 Ice-3.6.5-rhel9-x86_64.tar.gz zeroc_ice-3.6.5-cp39-cp39-linux_x86_64.whl

What this means for you

In short conclusion, Glencoe Software has made it easier to deploy OMERO by providing pre-built components of ZeroC Ice, catering to various systems and addressing potential installation complexities.

Glencoe Software remains committed to building these pre-built wheels and binaries for the operating systems supported by OMERO Plus and handling any security issues. We are also committed to support our end users in their common development environments.

In the short-term, we will extend our set of pre-built binaries to include:

  • Python wheel packages for Linux (arm64) and Windows (x84_64 and arm64)
  • Binaries for upcoming LTS operating systems e.g. Ubuntu 24.04 LTS

We are also planning for future changes due to dependencies like Berkeley DB being phased out in some Linux distributions. Future major versions will require upstream architectural changes either to upgrade to Ice 3.7 or later or revisit the Ice dependency altogether. Over the course of the next few months, we will start this conversation with the OME team.

Questions?

Please do not hesitate to join the conversation in the repositories linked above. Glencoe Software customers should reach out via their usual support channel as well.