[ome-devel] Problem using boost for omero server tests
josh.moore at gmx.de
josh.moore at gmx.de
Fri Oct 16 12:44:19 BST 2009
Ingvar Lagerstedt writes:
> Hi,
Hi Ingvar,
a quick question before getting into the details, you're looking to
use OmeroCpp?
> I am trying to run the omero server tests, but OmeroCpp fail to find my
> boost libraries, or at least that what I interpret the error message to
> say. Building omero itself works fine. On "$OMERO_HOME/build.py
> test-unit" I get:
> ...
> test-compile:
> Building with ICE_HOME=/opt/Ice-3.3.1
> *******************************************************
> WARNING: boost_unit_test_framework-mt not installed
> *******************************************************
> scons: `test' is up to date.
>
> BUILD FAILED
> /Users/ingvar/Software/omero/omero-4.0.3/build.xml:214: The following
> error occurred while executing this line:
> /Users/ingvar/Software/omero/omero-4.0.3/build.xml:200: The following
> error occurred while executing this line:
> /Users/ingvar/Software/omero/omero-4.0.3/components/antlib/resources/global.xml:79:
> The following error occurred while executing this line:
> /Users/ingvar/Software/omero/omero-4.0.3/components/tools/OmeroCpp/build.xml:35:
> Execute failed: java.io.IOException: test/unit.exe: not found
This looks to be the main problem. test/unit.exe shouldn't be accessed
if boost isn't installed. Corrected in trunk [1].
> Looking in $OMERO_HOME/components/tools/OmeroCpp/config.log gives the
> partially helpful:
> ...
> scons: Configure: Checking for boost_unit_test...
> scons: Configure: ".sconf_temp/conftest_1.cpp" is up to date.
> scons: Configure: The original builder output was:
> |.sconf_temp/conftest_1.cpp <-
> | |
> | |#define BOOST_TEST_MAIN
> | |#define BOOST_TEST_DYN_LINK
> | |#include <boost/test/included/unit_test.hpp>
> | |
> |
> scons: Configure: ".sconf_temp/conftest_1.o" is up to date.
> scons: Configure: The original builder output was:
> |Compiling .sconf_temp/conftest_1.o
> |
> scons: Configure: Building ".sconf_temp/conftest_1" failed in a previous
> run and
> all its sources are up to date.
> scons: Configure: The original builder output was:
> |Linking .sconf_temp/conftest_1
> |
> scons: Configure: (cached) no
>
> Including the compile/link instruction might have helped here.
Good suggestion. Also added to trunk.
> Environment:
> Mac OS X 10.5.8 (darwin kernel 9.8.0)
> Omero 4.0.3
> Ice 3.3.1
> PostgresSQL 8.2
> BerkeleyDB 4.8.24
> boost 1.39.0 or 1.40.0 (installed in /usr/local)
>
> The warning above indicates that the expected boost library name should be:
> libboost_unit_test_framework-mt.[a|dylib]
> while boost 1.39.0 provides
> libboost_unit_test_framework-xgcc40-mt.[a|dylib]
> and boost 1.40.0
> libboost_unit_test_framework.[a|dylib]
I've added these versions. Any others, anyone? Or does anyone have a
better suggestion. Something similar to a boost_config?
> I started with boost 1.40.0 but when I got the above error and read that
> boost had dropped the name decorations on the libraries I downgraded to
> 1.39.0 to see if that worked better. None of the provided names match
> exactly to the library name that the warning suggests, so I also tried to
> provide links from the provided library names to
> libboost_unit_test_framework-mt.[a|dylib], but again no change.
>
> The OmeroBuild webpage mentions a keyword VERBOSE used in
> $OMERO_HOME/components/blitz/blitz_tools.py (info says build_tools.py) but
> that does not give the additional info that I need here.
>
> I can compile and link the testfile (conftest_1.cpp) by hand, e.g.,
> gcc -o boost -lboost_unit_test_framework-xgcc40-mt -lstdc++ conftest_1.cpp
> for boost 1.39.0
>
> This could be an environment variable issue, or something completely
> different, and most likely I have missed to provide some key info.
My guess is that adding support for
"boost_unit_test_framework-xgcc40-mt" would have corrected your
problem. Can you give it another try?
Best wishes,
~Josh
[1] https://trac.openmicroscopy.org.uk/omero/changeset/5471
More information about the ome-devel
mailing list