[ome-users] Building Omero C++, missing -L{ice-lib-dir}

josh.moore at gmx.de josh.moore at gmx.de
Thu Dec 4 08:41:25 GMT 2008


Morning Mario,

Mario Valle writes:
 > Another small step along the path to build OmeroCpp.

:)

 > The latest changes to omero sources indeed fixed the problem of
 > Ice.h not found Now the same problem, but this time related to
 > library (.a) files, appears.  The error is:
 > 
 > tools-build:
 > scons: Reading SConscript files ...
 > Checking for C++ header file Ice/Ice.h... (cached) yes
 > Checking for boost_unit_test...(cached) no
 > scons: done reading SConscript files.
 > scons: Building targets ...
 > Linking   libomero_client.dylib
 > /usr/bin/libtool: can't locate file for: -lIce
 > /usr/bin/libtool: file: -lIce is not an object file (not allowed in a 
...
 > Seems the link phase does not take into account ice.home to add a 
 > -L{ice.home}/lib before the various -l
 > Can you look into this?
 > I think there is another entry in the mail list about this problem, but 
 > now I'm out of the office and cannot check.
 > Thanks for the help!

Can you try adding VERBOSE=1 to the build? Either from the top level:

 VERBOSE=1 ant build-cpp

or since you've already gotten this far in the build you can drop down
to the directory components/tools/OmeroCpp and use:

 VERBOSE=1 ant tools-build

This will show the full g++ commands that are being used. I did add
support for ice.home to both CXXFLAGS and LDFLAGS, but there may be
some case that I didn't take into accout. Alternatively, there may
still another version of the libraries that scons is using.

Cheers,
~Josh.

P.S. for reference, here's what I get:

$ mkdir foo/include
$ mkdir foo/lib
$ ICE_HOME=foo VERBOSE=1 ant tools-build
Buildfile: build.xml

tools-init:

tools-build:
     [exec] scons: Reading SConscript files ...
     [exec] Checking for C++ header file Ice/Ice.h... (cached) yes
     [exec] Checking for boost_unit_test...(cached) yes
     [exec] scons: done reading SConscript files.
     [exec] scons: Building targets ...
     [exec] g++ -o target/omero/model/LaserType.os -c -fPIC
     -D_REENTRANT -O0 -g -Wall -Isrc -Itarget
     -I/home/hudson/.hudson/jobs/OMERO/workspace/trunk/components/blitz/generated
     -I/usr/share/Ice/include target/omero/model/LaserType.cpp
     ...
     [exec] g++ -o libomero_client.so -shared <lots of object files>
     -L. -Lfoo/lib -lIce -lGlacier2 -lIceUtil



More information about the ome-users mailing list