Hi Alexey! kbd fails to build on several architectures supported by Debian GNU/Linux, namely Alpha, ARM, PA-RISC, IA-64, MIPS and SPARC. This is the relevant part from the original bug report: On Sun, Nov 29, 2009 at 04:53:49AM -0700, lamont@debian.org wrote: > There was an error while trying to autobuild your package: > > > […] > > gcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -Wall -Wextra -Wmissing-noreturn -Wdisabled-optimization -Wcast-align -Wshadow -Wmissing-format-attribute -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Werror -funit-at-a-time -Os -g -MT psffontop.o -MD -MP -MF .deps/psffontop.Tpo -c -o psffontop.o psffontop.c > > cc1: warnings being treated as errors > > psffontop.c: In function 'readpsffont': > > psffontop.c:253: error: cast increases required alignment of target type > > make[1]: *** [psffontop.o] Error 1 > > make[1]: Leaving directory `/build/buildd/kbd-1.15.1/src' > > make: *** [build-stamp] Error 2 > > dpkg-buildpackage: error: debian/rules build gave error exit status 2 (If you wish, you can find the full build logs for all architectures at .) As far as I can tell, the affected archs align data structures just like the member with the highest alignment. The cast from (char *) to (struct psf2_header *) fails as inputbuf is byte-aligned while the struct’s alignment matches that of int (likely word-aligned). I guess the most “correct” fix is a memcpy() of the input buffer to the correctly aligned address of psfhdr. Simply allowing unaligned access, as forced by “(struct psf_header2 *) (void *) &inputbuf[0]”, might also work, but I don’t know enough about the situation to say this with certainty. I’d be glad about suggestions from your part :-) Cheers, -- Michael Schutte