We're Hiring!

ICE installation

Having a problem deploying OMERO? Please ask new questions at https://forum.image.sc/tags/omero
Please note:
Historical discussions about OMERO. Please look for and ask new questions at https://forum.image.sc/tags/omero

The OMERO.server installation documentation begins here and you can find OMERO.web deployment documentation here.

ICE installation

Postby dwaithe » Fri Jul 10, 2015 11:01 am

Hi,
I hope someone can help. I am trying to install Ice 3.5.1 with the python bindings so I can use CLI and also use python to access an Omero 5.1.2 I have running as Virtual Appliance. My operating system is Yosemite 10.10.3. I have tried several things. My first try was just to do pip install zeroc-ice. This worked perfectly but unfortunately its Ice-3.6 which is not compatible with omero. I feel like the community either needs to upgrade to Ice-3.6 or arrange for a version of Ice-3.5 to be available for use with pip or similar. My sys admin is looking into doing this for me in linux environment, but I need to be successful in mac os for my own sanity. I've attempted three different strategies and each one failed. I would be happy if only one of these worked.

I tried installing the Ice-3.5.1 os x binary, it seemed to work but it installed to the mac default python, which most people and myself don't use because it is old python (I use 2.7.10). There was no way to change the python directory with this installation method.

I then tried to install the macports zeroc-ice35 and the py27-zeroc-ice35. This seemed to work in that I could import Ice in python. However when I try and use any of the omero.gateway commands, I get the following:

>>> import Ice
>>> from omero.gateway import *
>>> BlitzGateway()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/dwaithe/Documents/OMERO.py-5.1.2-ice35-b45/lib/python/omero/gateway/__init__.py", line 1477, in __init__
self._resetOmeroClient()
File "/Users/dwaithe/Documents/OMERO.py-5.1.2-ice35-b45/lib/python/omero/gateway/__init__.py", line 1877, in _resetOmeroClient
args=['--Ice.Config='+','.join(self.ice_config)])
File "/Users/dwaithe/Documents/OMERO.py-5.1.2-ice35-b45/lib/python/omero/__init__.py", line 67, in client
return omero.clients.BaseClient(*args, **kwargs)
File "/Users/dwaithe/Documents/OMERO.py-5.1.2-ice35-b45/lib/python/omero/clients.py", line 140, in __init__
self._initData(id)
File "/Users/dwaithe/Documents/OMERO.py-5.1.2-ice35-b45/lib/python/omero/clients.py", line 260, in _initData
self.__ic = Ice.initialize(id)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Ice.py", line 647, in initialize
communicator = IcePy.Communicator(args, data)
Ice.PluginInitializationException: exception ::Ice::PluginInitializationException
{
reason = unable to load entry point `IceSSL:createIceSSL': dlopen(libIceSSL.35.dylib, 10): image not found; dlopen(libZerocIceSSL.35.dylib, 10): image not found; dlopen(libIceSSL.35.so, 10): image not found; dlopen(libIceSSL.35.bundle, 10): image not found
}



I also tried compiling in C the Ice 3.5.1 from source tar. I was unable to compile the c code:
After editing the Make.rules to find Ice-3.5.1-ThirdParty-OSX, I get the following error.

...nsactionHolder.o TransactionI.o Transaction.o Util.o -lIce -lIceUtil -L/Users/dwaithe/Downloads/Ice-3.5.1-ThirdParty-OSX/lib -ldb_cxx
ld: warning: directory not found for option '-L/Users/dwaithe/code/libomp_oss/exports/mac_32e/lib.thin'
Undefined symbols for architecture x86_64:
"Db::set_error_stream(std::__1::basic_ostream<char, std::__1::char_traits<char> >*)", referenced from:
vtable for Freeze::MapDb in MapDb.o
"Db::set_message_stream(std::__1::basic_ostream<char, std::__1::char_traits<char> >*)", referenced from:
vtable for Freeze::MapDb in MapDb.o
"Db::verify(char const*, char const*, std::__1::basic_ostream<char, std::__1::char_traits<char> >*, unsigned int)", referenced from:
vtable for Freeze::MapDb in MapDb.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../../lib/libFreeze.3.5.1.dylib] Error 1
make[1]: *** [Freeze] Error 2
make: *** [all] Error 1
dwaithe
 
Posts: 3
Joined: Mon Jun 23, 2014 12:14 pm

Re: ICE installation

Postby sbesson » Sun Jul 12, 2015 11:24 am

Hi Dominic,

our recommended way to install the OMERO dependencies on OS X is to use Homebrew. In particular, we maintain a Homebrew OME tap with the Ice 3.5 formula which is tested daily on Mavericks.

With Homebrew installed, you should be able to install Python 2.7 and the Python binding of Ice 3.5 using the following commands:

Code: Select all
brew install python
brew install zeroc-ice35 --with-python


Let us know if you encounter issues,
Sebastien
User avatar
sbesson
Team Member
 
Posts: 421
Joined: Tue Feb 28, 2012 7:20 pm

Re: ICE installation

Postby dwaithe » Tue Jul 14, 2015 8:45 pm

sbesson wrote:Hi Dominic,

our recommended way to install the OMERO dependencies on OS X is to use Homebrew. In particular, we maintain a Homebrew OME tap with the Ice 3.5 formula which is tested daily on Mavericks.

With Homebrew installed, you should be able to install Python 2.7 and the Python binding of Ice 3.5 using the following commands:

Code: Select all
brew install python
brew install zeroc-ice35 --with-python


Let us know if you encounter issues,
Sebastien


Hi Sebastien,
Thanks for the reply. This homebrew method works and I can move on through using this. My only issue is that it installed to the mac default python not the macports version which I have most of modules. I know you are not meant to mix macports and homebrew but do you know anyway for selecting which python the python bindings are configured for? When I just add the library to my macport python it crashes the python presumably because its configured for the wrong version of python. Like I said however, the installation works as long as I stick to this particular python version so overall I am happy. Thanks for the help and any future suggestions.
Best,
Dominic.
dwaithe
 
Posts: 3
Joined: Mon Jun 23, 2014 12:14 pm

Re: ICE installation

Postby sbesson » Wed Jul 15, 2015 8:25 am

Hi Dominic,

I am not sure about how to use the Macports Python. Have you tried setting your PATH so that your Macports Python is detected first? For instance, after installing Homebrew Python, we do prepren `/usr/local/bin` to the PATH so that it is used for the Python bindings, i.e.:

$ which python
/usr/local/bin/python


Best,
Sebastien
User avatar
sbesson
Team Member
 
Posts: 421
Joined: Tue Feb 28, 2012 7:20 pm

Re: ICE installation

Postby dwaithe » Wed Jul 15, 2015 10:02 am

Hi Sebastian,
The macports python is first in the list. I think homebrew is designed to avoid it, due to the potential incompatibilities. If I make the macports python look at the homebrew python package and import it, it just crashes. |f think I will have to just to accept that I will have to keep my homebrew and macports python separate.
Best,
Dominic.
dwaithe
 
Posts: 3
Joined: Mon Jun 23, 2014 12:14 pm

Re: ICE installation

Postby evenhuis » Fri Feb 23, 2018 3:20 am

Hi,

I'm trying to access an old installation we have of OMERO 5.2. Are these home-brew taps still maintained?
Code: Select all
brew install zeroc-ice35 --with-python
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core, caskroom/cask).
==> Updated Formulae
ginac                                   gitlab-runner                           nsd                                     youtube-dl

Error: No available formula with the name "zeroc-ice35"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.



I've tried install the Ice libraries from https://zeroc.com/downloads/ice/3.5/. I can import omero in python but when I connect I get this
Code: Select all

>>> conn = BlitzGateway(USER, PASS, host=HOST, port=4046)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/evenhuis/Dropbox/MIF/OMERO/downloads_5.2.6/OMERO.py-5.2.6-ice35-b35/lib/python/omero/gateway/__init__.py", line 1479, in __init__
    self._resetOmeroClient()
  File "/Users/evenhuis/Dropbox/MIF/OMERO/downloads_5.2.6/OMERO.py-5.2.6-ice35-b35/lib/python/omero/gateway/__init__.py", line 1930, in _resetOmeroClient
    args=['--Ice.Config='+','.join(self.ice_config)])
  File "/Users/evenhuis/Dropbox/MIF/OMERO/downloads_5.2.6/OMERO.py-5.2.6-ice35-b35/lib/python/omero/__init__.py", line 67, in client
    return omero.clients.BaseClient(*args, **kwargs)
  File "/Users/evenhuis/Dropbox/MIF/OMERO/downloads_5.2.6/OMERO.py-5.2.6-ice35-b35/lib/python/omero/clients.py", line 140, in __init__
    self._initData(id)
  File "/Users/evenhuis/Dropbox/MIF/OMERO/downloads_5.2.6/OMERO.py-5.2.6-ice35-b35/lib/python/omero/clients.py", line 268, in _initData
    self.__ic = Ice.initialize(id)
  File "/Library/Python/2.7/site-packages/Ice.py", line 647, in initialize
    communicator = IcePy.Communicator(args, data)
Ice.PluginInitializationException: exception ::Ice::PluginInitializationException
{
    reason = unable to load entry point `IceSSL:createIceSSL': dlopen(libIceSSL.35.dylib, 10): image not found; dlopen(libIceSSL.35.so, 10): image not found; dlopen(libIceSSL.35.bundle, 10): image not found


Any suggests for setting up older versions of ICE?

Cheers,

Chris
evenhuis
 
Posts: 61
Joined: Tue Jan 30, 2018 4:47 am

Re: ICE installation

Postby jmoore » Fri Feb 23, 2018 4:55 pm

Hi Chris,

I tested the state of our Ice 3.5 formula. You can see https://github.com/ome/homebrew-alt/pull/144 for the details, but briefly, it no longer works. Keeping up with the moving parts of OS X + Python + Brew + OpenSSL + Ice for older versions proved to be too much. Starting with Ice 3.6, ZeroC invested heavily in providing these sorts of resources themselves which took the burden off of us. I'd very much encourage you to at least upgrade to Ice 3.6 even if you're stuck on OMERO 5.2 (See http://downloads.openmicroscopy.org/omero/5.2.5/#servers) Of course, we'd encourage you even more to upgrade your version of OMERO.

Let us know how we can help further.
~Josh
User avatar
jmoore
Site Admin
 
Posts: 1591
Joined: Fri May 22, 2009 1:29 pm
Location: Germany

Re: ICE installation

Postby evenhuis » Sun Feb 25, 2018 11:17 pm

Hi Josh,

The situation is that we are running OMERO 5.4.1-ice36-b75 and have an older, test install of OMERO 5.2.6-ice35-b35. We have users with significant amounts of data stored on the test server that they would like moved the new server, and they are not going click to download thousands of individual files.

As has been raised in other posts, bulk downloads of raw images and their metadata is pain point, but we have developed some python scripts that can get this done. The scripts work fine on the new server, but I cannot get them run on the test server due to the ice library compatibility.

I'd very much encourage you to at least upgrade to Ice 3.6 even if you're stuck on OMERO 5.2

The test server is not maintained anymore so it may be difficult to get this upgraded.

If I can get access to the server I can run the python script locally and use the server ice libraries?

Thanks,

Chris
evenhuis
 
Posts: 61
Joined: Tue Jan 30, 2018 4:47 am

Re: ICE installation

Postby jmoore » Mon Feb 26, 2018 8:51 am

Hi Chris,

evenhuis wrote:The situation is...


Gotcha.

I'd very much encourage you to at least upgrade to Ice 3.6 even if you're stuck on OMERO 5.2

The test server is not maintained anymore so it may be difficult to get this upgraded.

If I can get access to the server I can run the python script locally and use the server ice libraries?



Assuming the OMERO 5.2 / Ice 3.5 server is running without issue, you can use a separate OMERO 5.2 / Ice 3.6 installation to connection.

~Josh
User avatar
jmoore
Site Admin
 
Posts: 1591
Joined: Fri May 22, 2009 1:29 pm
Location: Germany

Re: ICE installation

Postby evenhuis » Mon Feb 26, 2018 11:41 pm

Hi Josh,

Assuming the OMERO 5.2 / Ice 3.5 server is running without issue, you can use a separate OMERO 5.2 / Ice 3.6 installation to connection.


Awesome, that works. It didn't even cross my mind because I spend all day telling users that the version numbers of OMERO and ICE of their insight client MUST match the versions of the sever.

Cheers,

Chris
evenhuis
 
Posts: 61
Joined: Tue Jan 30, 2018 4:47 am

Next

Return to Installation and Deployment

Who is online

Users browsing this forum: No registered users and 1 guest