As far as I can tell, the build problems in vnc4 happen because rfb/Rect.h provides its own definitions of min() and max() as macros which interact badly with the guts of the C++ standard library (in particular with some functions in vector<bool>). On my system locally, I applied the following changes, and the program seemed to compile fine.
cheers, Aleksey Kliger ======= --- rfb/Rect.h.old 2005-12-08 16:16:01.000000000 -0500 +++ rfb/Rect.h 2005-12-08 15:57:58.000000000 -0500 @@ -21,13 +21,17 @@ #ifndef __RFB_RECT_INCLUDED__ #define __RFB_RECT_INCLUDED__ -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif - -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif +#include <algorithm> + +using std::min; +using std::max; +// #ifndef max +// #define max(a,b) (((a) > (b)) ? (a) : (b)) +// #endif + +// #ifndef min +// #define min(a,b) (((a) < (b)) ? (a) : (b)) +// #endif namespace rfb { =======