Your message dated Mon, 30 Nov 2009 20:05:28 +0100
with message-id <20091130190528.ga5...@graeme>
has caused the report #558492,
regarding kbd_1.15.1-1(ia64/unstable): FTBFS: compile errors
to be marked as having been forwarded to the upstream software
author(s) [email protected]
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
558492: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=558492
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
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, [email protected] 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
<https://buildd.debian.org/build.cgi?pkg=kbd>.)
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 <[email protected]>
signature.asc
Description: Digital signature
--- End Message ---