Some platforms (ARM, PowerPC, s390x) have "unsigned char" as the default char type, and thus the build fails for certain parts of the code where negative values are assigned to those kind of variables.