Boost logo

Boost Users :

From: Florian Winter (fw_at_[hidden])
Date: 2008-06-13 10:31:21


Hi,

We have run into problems trying to compile Boost.Test on a Mac OS X 10.3 system using GCC version 3.3 (details below). We are using the "included" implementation of Boost.Test in a shared library that we build using our own build system. This works fine on various different platforms and compilers, however part of Boost.Test fails to compile on Mac OS X. We are including Boost.Test in our shared library in the following way:

// Define this to declare all Boost.Test symbols as __declspec(dllexport)
// rather than __declspec(dllimport).
#define BOOST_TEST_SOURCE

#define BOOST_TEST_DYN_LINK
#include <boost/test/included/unit_test.hpp>

The compiler errors (see below) indicate that some symbols related to signal handling are undefined. Either, some required system headers are not included, or these symbols are not portable and not available on Mac OS X (10.3).

Has this problem been encountered before? Is there an easy workaround for it, such as defining certain symbols before including the Boost.Test headers? Could it be somehow related to the way we are building Boost.Test?

Furthermore, it would be interesting for us to know what the status of Boost.Test on Mac OS X is in general. Unfortunately, the "Portability" section in the documentation

http://www.boost.org/doc/libs/1_35_0/libs/test/doc/portability.html

as well as the rest of the documentation do not provide a lot of information regarding support for different platforms.

Below, you will find the error messages that we got, as well as some information about our system and the version of Boost.Test that we used. Thanks in advance for any help.

Best regards,
Florian

*Boost Version*

1.35.0

*System*

MacOSX 10.3

*Compiler*

g++ (GCC) 3.3 20030304 (Apple Computer, Inc. build 1666)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

*Errors*

In file included from
<...>/boost/test/included/unit_test.hpp:22,
                 from <...>:18:
<...>/boost/test/impl/execution_monitor.ipp:
In member function `void boost::detail::system_signal_exception::report() const':
<...>/boost/test/impl/execution_monitor.ipp:286:
error: `ILL_ILLOPN' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:286:
error: (Each undeclared identifier is reported only once for each function it appears in.)
<...>/boost/test/impl/execution_monitor.ipp:291:
error: `ILL_ILLADR' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:306:
error: `ILL_PRVREG' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:311:
error: `ILL_COPROC' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:316:
error: `ILL_BADSTK' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:326:
error: `FPE_INTDIV' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:331:
error: `FPE_INTOVF' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:361:
error: `FPE_FLTSUB' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:391:
error: `BUS_ADRERR' undeclared (first use this function)
<...>/boost/test/impl/execution_monitor.ipp:396:
error: `BUS_OBJERR' undeclared (first use this function)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net