There's a problem in class SimpleDateFormat that is detected by gcc 4.3.1. This is a C++ language oddity - trying to introduce a new overload of a base class member function in a derived class will hide the base class function, even though the function parameters are of different types.
function
SimpleDateFormat::getNumberFormat(UDateFormatField index) const
hides the base class fuction
DateFormat::getNumberFormat() const
In file included from third_party/icu/source/i18n/simpletz.cpp:30:
./third_party/icu/include/unicode/datefmt.h:537: error: 'virtual const icu_4_2::NumberFormat* icu_4_2::DateFormat::getNumberFormat() const' was hidden
./third_party/icu/include/unicode/smpdtfmt.h:950: error: by 'virtual const icu_4_2::NumberFormat* icu_4_2::SimpleDateFormat::getNumberFormat(UDateFormatField) const'
ERROR: /home/aheninger/g4d/google3/third_party/icu/source/i18n/BUILD:18:1: C++ compilation of rule '//third_party/icu/source/i18n:icui18n' failed (Exit 1).
Fixing this might be a candidate for ICU 4.2.1