Recently I upgraded to Breezy, which uses gcc 4 by default. Libxml2 uses a type called xmlChar everywhere, which handily is an unsigned char. Previous versions of gcc seems quite happy at silently casting from a char* to an unsigned char*, but Gcc 4 complains. In Galeon, we build with -Werror (only in maintainer mode), the combination of this meant that Galeon failed to build.
The solution, do through and add casts to xmlChar* everywhere, which ended up as about 250 different places. That was one of the most boring things I have done