[ome-devel] Getting started with C++ API for OMERO.server clients

josh.moore at gmx.de josh.moore at gmx.de
Tue Sep 1 14:48:18 BST 2009


Nick Perry writes:
 > Hey Josh,

Hey Nick,

 > Does this mean that *any* OMERO server that intends to have 3rd
 > party apps connect using the API needs to use this special OMERO
 > distribution that has the API?

No. The intention is that any server with the version x.y will be
accessible to any client API implementation (OmeroPy, OmeroCpp,
OmeroJava, OmeroMatlab, ...) built from the same x.y version. We've
made some mistakes in this regard this year, so it's safer to say:

    server version x.y.z is accessible from client version x.y.z
    regardless where you got either: svn-checkout-build, binary
    distribution, etc.

Another way of saying this is that the server and the clients (client
APIs) are to some extent independent, so that even if we don't supply
the C++ libraries, there's nothing from stopping you from building and
using them with your server, as long as the version matches.

Cheers,
~Josh

 > Nick
 > 
 > On Tue, Sep 1, 2009 at 12:24 PM, <josh.moore at gmx.de> wrote:
 > 
 > > Nick Perry writes:
 > >  > the previous* command (not following). Sorry.
 > >  >
 > >  > On Tue, Sep 1, 2009 at 12:11 PM, Nick Perry <nperry at stanford.edu>
 > > wrote:
 > >  >
 > >  > > Hey Josh,
 > >  > >
 > >  > > Sorry to bug you again.
 > >  > >
 > >  > > I'm trying to put together in my head everything I've done so far.
 > >  > >
 > >  > > With the command:
 > >  > > svn co http://cvs.openmicroscopy.org.uk/svn/omero/trunk omero
 > >  > >
 > >  > > I'm checking out a new omero distribution, right? So if I had the
 > >  > > omero
 > >
 > > Correct.
 > >
 > >  > > server up and running already on my computer (the standard download),
 > > I've
 > >  > > messed things up, right?
 > >
 > > Not really. You'll need to shut it off (bin/omero admin stop) in order
 > > to start the new server. If you've already deleted the directory, you
 > > can use:
 > >
 > >  killall icegridnode
 > >
 > > to get rid of the runing server.
 > >
 > >  > > I was just looking in my previous omero distribution folder and
 > >  > > this new checked out one, and they share files but the latter has
 > >  > > the build.py. So if I'm guessing correctly, I need to run the
 > >  > > omero server out of this new, special distribution, right?
 > >
 > > Right. When you run ./build.py from a checkout it produces the "dist"
 > > directory. This is the same as the distribution which is available for
 > > download.
 > >
 > >  > > So the omero server with API is DIFFERENT than the normal omero
 > >  > > server, and in order to write C++ api for connecting 3rd party
 > >  > > clients to omero i need to be running the omero server using the
 > >  > > distribution I check out with the following command...?
 > >
 > > Not at all. As long as the versions match, you can use a distribution
 > > with a checkout. Your distribution is most likely 4.0.x, so you'll
 > > need to be checking out from:
 > >
 > >  http://cvs.openmicroscopy.org.uk/svn/omero/branches/Beta4.0/
 > >
 > > The reason that the svn checkout is required is that we don't
 > > currently provide the C++ library with the distribution.
 > >
 > >  > > Thanks for the help,
 > >  > > Nick
 > >
 > > Gladly,
 > > ~Josh.
 > >
 > >  > >
 > >  > >
 > >  > > On Tue, Sep 1, 2009 at 12:00 PM, Nick Perry <nperry at stanford.edu>
 > > wrote:
 > >  > >
 > >  > >> Hey Josh,
 > >  > >>
 > >  > >> Sorry I'm not as familiar with compiling C++ / makefiles as I should
 > > be,
 > >  > >> but in the following step:
 > >  > >>
 > >  > >> Finding the library ¶<
 > > http://trac.openmicroscopy.org.uk/omero/wiki/OmeroCpp#Findingthelibrary>
 > >  > >>
 > >  > >> What will be produced by that build are two sets of artifacts:
 > >  > >>
 > >  > >>    - dist/include contains C++ header files as well as the slice
 > > files
 > >  > >>    from which the Ice-based model is generated. You will need to pass
 > > these to
 > >  > >>    your compiler.
 > >  > >>    - dist/lib contains the shared library file, which you will need
 > > to
 > >  > >>    pass to your linker. On Linux libomero_client.so on OS X
 > >  > >>    libomero_client.dylib and on Windows omero_client.dll, in 32 or
 > > 64-bit
 > >  > >>    mode depending on your CXXFLAGS (See OmeroBuild<
 > > http://trac.openmicroscopy.org.uk/omero/wiki/OmeroBuild>)
 > >  > >>
 > >  > >>
 > >  > >> Note: the shared library files can be quite large, even over 200MB.
 > >  > >>
 > >  > >>
 > >  > >> For bullet 2, do I need to pass my shared library file explicitly in
 > > a
 > >  > >> step I should know how to do, or is this accomplished in the next
 > > step when
 > >  > >> I use the make file?
 > >  > >>
 > >  > >> Thanks,
 > >  > >>
 > >  > >> Nick
 > >  > >>
 > >  > >> On Tue, Sep 1, 2009 at 11:54 AM, <josh.moore at gmx.de> wrote:
 > >  > >>
 > >  > >>>
 > >  > >>> *whew*
 > >  > >>>
 > >  > >>> Good to hear. ~J.
 > >  > >>>
 > >  > >>> Nick Perry writes:
 > >  > >>>  > just kidding; i hadn't given the svn command my proxy info :)
 > >  > >>>  >
 > >  > >>>  > On Tue, Sep 1, 2009 at 11:11 AM, Nick Perry <nperry at stanford.edu
 > > >
 > >  > >>> wrote:
 > >  > >>>  >
 > >  > >>>  > > SVN still not working:
 > >  > >>>  > >
 > >  > >>>  > > svn co http://cvs.openmicroscopy.org.uk/svn/omero/trunk omero
 > >  > >>>  > >
 > >  > >>>  > > svn: PROPFIND request failed on '/svn/omero/trunk'
 > >  > >>>  > > svn: PROPFIND of '/svn/omero/trunk': could not connect to
 > > server (
 > >  > >>>  > > http://cvs.openmicroscopy.org.uk)
 > >  > >>>  > >
 > >  > >>>  > > On Mon, Aug 31, 2009 at 8:05 PM, <josh.moore at gmx.de> wrote:
 > >  > >>>  > >
 > >  > >>>  > >>
 > >  > >>>  > >> Nick Perry writes:
 > >  > >>>  > >>  > Hi,
 > >  > >>>  > >>
 > >  > >>>  > >> Hi Nick,
 > >  > >>>  > >>
 > >  > >>>  > >>  > I'm extremely confused about where to start when trying to
 > > play
 > >  > >>>  > >>  > around with the OMERO server C++ API for OMERO clients. I
 > > think
 > >  > >>>  > >>  > this is the correct page to start on
 > >  > >>>  > >>  > http://trac.openmicroscopy.org.uk/omero/wiki/OmeroCpp, but
 > > I'm
 > >  > >>>  > >>  > having a hard time understanding what's going on.
 > >  > >>>  > >>
 > >  > >>>  > >> That is the correct page, but as always, the docs can use
 > >  > >>>  > >> improvements. I've updated them; can you give take a look, and
 > > tell
 > >  > >>> me
 > >  > >>>  > >> if things are clearer now?
 > >  > >>>  > >>
 > >  > >>>  > >>  > First of all, the svn call
 > >  > >>>  > >>  > on that page (svn co
 > >  > >>> http://cvs.openmicroscopy.org.uk/svn/omero/trunkomero)
 > >  > >>>  > >>  > doesn't work; i get the following error:
 > >  > >>>  > >>  >
 > >  > >>>  > >>  > svn: PROPFIND request failed on '/svn/omero/trunk'
 > >  > >>>  > >>  > svn: PROPFIND of '/svn/omero/trunk': could not connect to
 > > server
 > >  > >>> (
 > >  > >>>  > >>  > http://cvs.openmicroscopy.org.uk)
 > >  > >>>  > >>  >
 > >  > >>>  > >>  > Why is this not working?
 > >  > >>>  > >>
 > >  > >>>  > >> This morning there was a short outage of all developer
 > >  > >>>  > >> resources. Could you re-try and let us know if it's working
 > > now?
 > >  > >>>  > >>
 > >  > >>>  > >> ...
 > >  > >>>  > >>  > Thanks,
 > >  > >>>  > >>  > Nick
 > >  > >>>  > >>
 > >  > >>>  > >> ~Josh.
 > >  > >>>  > >>
 > >  > >>>  > >
 > >  > >>>  > >
 > >  > >>>
 > >  > >>
 > >  > >>
 > >  > >
 > >


More information about the ome-devel mailing list