I don't know, but I see the error for incomplete type, so try #define BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT
lib/gcc/mingw32/4.5.2/include/c++/bits/stl_pair.h:77:11: error: 'std::pair<_T1, _T2>::second' has incomplete type
\boost_1_46_1/boost/variant/variant_fwd.hpp:232:12: error: forward declaration of 'struct boost::recursive_variant_'
///////////////////////////////////////////////////////////////////////////////
// type recursive_variant_
//
// Tag type indicates where recursive variant substitution should occur.
//
#if !defined(BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT)
struct recursive_variant_; // line 232: ERROR here
#else
typedef mpl::arg<1> recursive_variant_;
#endif
------------------------------
Message: 5
Date: Fri, 18 Nov 2011 11:37:51 +0100
From: "Bodmer Marc"