Provision of Python wheels for zeroc-ice on Linux

rleighrleigh Member Roger LeighOrganization: University of DundeeProject: OMERO (Open Microscopy Environment)

On Windows, prebuilt wheels are available, making it possible to install IcePy easily with pip, which is absolutely fantastic and a great improvement upon previous Ice releases for Windows.

I'm writing to ask if you have considered also providing similar pre-built wheels for the various Linux platforms you also support, such as CentOS7 and Ubuntu 16.04. The reason for doing so would be to make provisioning of a new system faster, because compilation is not required, and also to avoid installing a compiler and development tools on machines which will only be used for deployment.

Currently, we have manually created our own wheel for CentOS 7 here: https://github.com/openmicroscopy/zeroc-ice-py-centos7/releases but it's something which other Ice users might appreciate having provided by default as part of the standard Ice distribution package set, so that it's possible to "pip install zeroc-ice" on any of the supported platforms and have it immediately installed without the need for building from source.

Thanks for your consideration.

Kind regards,
Roger

Comments

  • benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff

    Hi Roger,

    This is something we'll consider looking into after the 3.7.0 release. See also my answer on this thread.

    Cheers,
    Benoit.

  • ckasten1ckasten1 Member coreyOrganization: verizon digital media servicesProject: CDN statistics

    HI @benoit! Can you please provide an update on the plans for providing the Linux native wheels? (Sorry, but I tried to comment on the other thread but can't seem to get a comment box.)

  • benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff

    Hi,

    Sorry, we didn't make any progress on this yet. Could you specify for which Linux distribution and python version you would need binary wheels?

    Note that we already provide Ice for Python RPM and DEB packages for our supported Linux platforms. Did you consider using these packages instead?

    One of the issue with building a binary wheel is that Ice requires OpenSSL. OpenSSL isn't part of the libraries of the manylinux platform specification (see PEP-513 and PEP-571) . While it should be possible to bundle a specific OpenSSL version with the wheel, it's not ideal as potential security fixes to OpenSSL won't be available unless we release a new wheel and users update the installed Ice wheel as well.

    Cheers,
    Benoit.

  • ckasten1ckasten1 Member coreyOrganization: verizon digital media servicesProject: CDN statistics
    edited June 2018

    Hi, @benoit . Sorry for the delayed response. The linux distributions I would need are the LTS Ubuntu versions (14.04, 16.04, 18.04).

    I'm not surprised if it's not easy to do. There's atleast one example I'm aware of where many dependency libraries were built along with it, in addition to the main package's cypthon extensions itself. For example: https://pypi.org/project/confluent-kafka/0.11.4/#files
    which has these bundled-in dependencies:

    # pip show -f confluent_kafka | grep '\.so'
      confluent_kafka/.libs/libcrypto-0bb2f16a.so.1.0.0
      confluent_kafka/.libs/librdkafka-6f63ed6f.so.1
      confluent_kafka/.libs/libssl-3fdf0a9a.so.1.0.0
      confluent_kafka/.libs/libz-a147dcb0.so.1.2.3
      confluent_kafka/cimpl.so
    
Sign In or Register to comment.