Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4878: MinGW 4.5.0 undefined reference to bool interruptible_wait(detail::win32::handle handle_to_wait_for, detail::t imeout target_time)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-12-20 04:11:45
#4878: MinGW 4.5.0 undefined reference to bool
interruptible_wait(detail::win32::handle handle_to_wait_for,detail::t
imeout target_time)
---------------------------------+------------------------------------------
Reporter: 1czajnik@⦠| Owner: anthonyw
Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
Version: Boost 1.45.0 | Severity: Problem
Resolution: | Keywords:
---------------------------------+------------------------------------------
Comment (by Hendricks266 <Hendricks266@â¦>):
It appears that this bug was "fixed" before: #4614
--Side Note--
In bug #4614, reference is made to this bug #4315.
I got these warnings as well.
--End Side Note--
I can't find any information regarding auto-tss cleanup in MinGW or GCC.
If tss is an acronym for "thread stack size", a web search of [auto thread
stack size cleanup site:gnu.org] may be on the right track.
Here's the MinGW-encompassing modification:
{{{
# if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) ||
defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32)
}}}
Relevant link:
http://redmine.webtoolkit.eu/projects/wt/wiki/Installing_Wt_on_MinGW
On the BOOST_THREAD_PLATFORM_WIN32 front, this is
$BOOST_ROOT/boost/thread/detail/platform.hpp:
{{{
// fetch compiler and platform configuration
#include <boost/config.hpp>
// insist on threading support being available:
#include <boost/config/requires_threads.hpp>
// choose platform
#if defined(linux) || defined(__linux) || defined(__linux__)
# define BOOST_THREAD_LINUX
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
|| defined(__DragonFly__)
# define BOOST_THREAD_BSD
#elif defined(sun) || defined(__sun)
# define BOOST_THREAD_SOLARIS
#elif defined(__sgi)
# define BOOST_THREAD_IRIX
#elif defined(__hpux)
# define BOOST_THREAD_HPUX
#elif defined(__CYGWIN__)
# define BOOST_THREAD_CYGWIN
#elif (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) &&
!defined(BOOST_DISABLE_WIN32)
# define BOOST_THREAD_WIN32
#elif defined(__BEOS__)
# define BOOST_THREAD_BEOS
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
# define BOOST_THREAD_MACOS
#elif defined(__IBMCPP__) || defined(_AIX)
# define BOOST_THREAD_AIX
#elif defined(__amigaos__)
# define BOOST_THREAD_AMIGAOS
#elif defined(__QNXNTO__)
# define BOOST_THREAD_QNXNTO
#elif defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) ||
defined(_POSIX_SOURCE)
# if defined(BOOST_HAS_PTHREADS) && !defined(BOOST_THREAD_POSIX)
# define BOOST_THREAD_POSIX
# endif
#endif
// For every supported platform add a new entry into the dispatch table
below.
// BOOST_THREAD_POSIX is tested first, so on platforms where posix and
native
// threading is available, the user may choose, by defining
BOOST_THREAD_POSIX
// in her source. If a platform is known to support pthreads and no native
// port of boost_thread is available just specify "pthread" in the
// dispatcher table. If there is no entry for a platform but pthreads is
// available on the platform, pthread is choosen as default. If nothing is
// available the preprocessor will fail with a diagnostic message.
#if defined(BOOST_THREAD_POSIX)
# define BOOST_THREAD_PLATFORM_PTHREAD
#else
# if defined(BOOST_THREAD_WIN32)
# define BOOST_THREAD_PLATFORM_WIN32
# elif defined(BOOST_HAS_PTHREADS)
# define BOOST_THREAD_PLATFORM_PTHREAD
# else
# error "Sorry, no boost threads are available for this platform."
# endif
#endif
}}}
WIN32 appears to go all the way to the base of Boost.
I would be willing to run the Boost.Thread test suite on MinGW. How do I
run it?
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4878#comment:6> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:05 UTC