monotone uses an std::vector with a class that has only been declared. This is not allowed by the standard. Fix this by including the class's definition at this point. This might be fixed in later versions of monotone, but 0.45 is the latest in the tree. I will have to check.
Created attachment 229411 [details, diff] Proposed fix
The build issue seems to be fixed in monotone-0.47. Please see the bump request: http://bugs.gentoo.org/show_bug.cgi?id=309577
+ 27 Apr 2010; Samuli Suominen <ssuominen@gentoo.org> monotone-0.45.ebuild, + +files/monotone-0.45-gcc45.patch: + Fix building with GCC 4.5 wrt #317509 by Philipp.