Boost logo

Boost :

From: Doug Gregor (dgregor_at_[hidden])
Date: 2007-10-22 15:51:40

The Test library is failing to build on the Subversion trunk with the
following error:

darwin.compile.c++ ../../../../bin.v2/libs/test/build/darwin/debug/
../../../../boost/test/impl/execution_monitor.ipp: In member function
'void boost::detail::system_signal_exception::report() const':
../../../../boost/test/impl/execution_monitor.ipp:426: error:
'SIGPOLL' was not declared in this scope
../../../../boost/test/impl/execution_monitor.ipp: In constructor
'boost::detail::signal_action::signal_action(int, bool, bool, char*)':
../../../../boost/test/impl/execution_monitor.ipp:527: error:
expected id-expression before '(' token
../../../../boost/test/impl/execution_monitor.ipp: In constructor
'boost::detail::signal_handler::signal_handler(bool, int, bool, char*)':
../../../../boost/test/impl/execution_monitor.ipp:608: error:
'SIGPOLL' was not declared in this scope

The definition of SIGPOLL in Mac OS X's signal.h is conditional:

#if defined(_POSIX_C_SOURCE)
#define SIGPOLL 7 /* pollable event ([XSR] generated, not
supported) */
#else /* !_POSIX_C_SOURCE */
#define SIGIOT SIGABRT /* compatibility */
#define SIGEMT 7 /* EMT instruction */
#endif /* !_POSIX_C_SOURCE */

I'll be happy to test fixes, if that would help, but I'm too confused
about the handling of SIGPOLL in execution_monitor.ipp to come up
with my own patch. In one place, the use of SIGPOLL is guarded by !
defined(__CYGWIN__), in other places there doesn't seem to be such a
guard. A little Googling notes that SIGPOLL is also missing on
Cygwin, so I assume the Test library is broken on that platform, too.

        - Doug

Boost list run by bdawes at, gregod at, cpdaniel at, john at