[ome-users] Building C++ bindings

Mario Valle mvalle at cscs.ch
Thu Nov 20 16:50:02 GMT 2008


Could you confirm that the following steps are the correct one to build OMERO C++ ? I have 
various doubts (in parenthesis). I'm doing this on a Mac OSX 10.4 PCC.

0) Check prerequisites. (Only Ice 3.3.0? Ant? Something else?)

1) Install Ice 3.3.0 (Ok, this still fails to build on Mac 10.4 PPC. I'm opening a bug 
report with ZeroC) (Here is the first lines of the errors. Does this ring any bell?)
g++ -c -I.. -I../../include -DFREEZE_API_EXPORTS -I/opt/local/include/db46  -g -O2 
-DNDEBUG -ftemplate-depth-128 -Wall -D_REENTRANT BackgroundSaveEvictorI.cpp
BackgroundSaveEvictorI.cpp: In constructor 
`Freeze::BackgroundSaveEvictorI::BackgroundSaveEvictorI(const Ice::ObjectAdapterPtr&, 
const std::string&, DbEnv*, const std::string&, const Freeze::ServantInitializerPtr&, 
const std::vector<Freeze::IndexPtr, std::allocator<Freeze::IndexPtr> >&, bool)':
BackgroundSaveEvictorI.cpp:158: error: no matching function for call to 
'Ice::LocalObject::LocalObject(const void**)'
../../include/Ice/LocalObject.h:27: note: candidates are: Ice::LocalObject::LocalObject()
../../include/Ice/LocalObject.h:27: note: 
Ice::LocalObject::LocalObject(const Ice::LocalObject&)
BackgroundSaveEvictorI.cpp:158: error: no matching function for call to 
'Ice::ServantLocator::ServantLocator(const void**)'
../../include/Ice/ServantLocator.h:72: note: candidates are: 
Ice::ServantLocator::ServantLocator()
../../include/Ice/ServantLocator.h:72: note: 
Ice::ServantLocator::ServantLocator(const Ice::ServantLocator&)

2) Take the OMERO source
svn co http://cvs.openmicroscopy.org.uk/svn/omero/trunk omero
(is this needed to build OMERO C++? Or is the installation of the normal kit sufficient?)

3) Setup the sources
cd omero
java omero setup
(See above. It asks the same questions answered during normal installation)

4) Enable Ice
no.ice=false
ice.home=/usr/share/Ice
(should I modify it under the OMERO installation or under the downloaded source (see 2)?)

5) Setup the PATH to slice2cpp and DYLD_LIBRARY_PATH to the corresponding .dylib

6) Go to the omero direcory (under the installation or the source?) and execute
java omero build-cpp
(or should I execute ant?)

Well, at this point I have pages and pages of warnings and then BUILD FAILED. Ok, I have 
to fix point 1 before complaining. Here is an example:

$ java omero build-cpp
Buildfile: build.xml

check-ivy:
:: Ivy 2.0.0-beta2 - 20080225093827 :: http://ant.apache.org/ivy/ ::
:: loading settings :: file = /Users/mvalle/omero-cpp/omero/etc/ivysettings.xml
[Error] :43:30: cos-nonambig: "":license and WC[##any] (or elements from their 
substitution group) violate "Unique Particle Attribution". During validation against this 
schema, ambiguity would be created for those two particles.

Thanks for clarifying!
				mario

-- 
Ing. Mario Valle
Data Analysis Group                              | http://www.cscs.ch/~mvalle
Swiss National Supercomputing Centre (CSCS)      | Tel:  +41 (91) 610.82.60
v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax:  +41 (91) 610.82.82



More information about the ome-users mailing list