Skip to contentSkip to conversation

Bug#558492: kbd_1.15.1-1(ia64/unstable): FTBFS: compile errors

kbd Michael Schutte 2 participants 4 messages Nov 30, 2009 – Dec 8, 2009 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

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:

Quoted 11 lines · On Sun, Nov 29, 2009 at 04:53:49AM -0700, [email protected] wrote:

There was an error while trying to autobuild your package:

Quoted 9 lines

[…]
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,

Signature · 1 line
Michael Schutte <[email protected]>
#2 lore raw
Quoted 5 lines · Michael Schutte

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:

Thanks for the report.

Quoted 5 lines

(If you wish, you can find the full build logs for all architectures at
<https://buildd.debian.org/build.cgi?pkg=kbd>.)

I guess the most “correct” fix is a memcpy() of the input buffer to the correctly aligned address of psfhdr.

Yes. I think this is the most correct way.

http://git.altlinux.org/people/legion/packages/kbd.git?p=kbd.git;a=commitdiff;h=d10c22e120863a4dc2dc6fd82431bdb962327891

This should fix the problem. But I checked the only cross-compilation for ARM.

Can you confirm fix for other archs?

Signature · 1 line
Rgrds, legion
#3 lore raw

tag 558492 pending
thanks

Quoted 7 lines · Alexey Gladkov
Quoted 2 lines · Michael Schutte

I guess the most “correct” fix is a memcpy() of the input buffer to the correctly aligned address of psfhdr.

Yes. I think this is the most correct way.

http://git.altlinux.org/people/legion/packages/kbd.git?p=kbd.git;a=commitdiff;h=d10c22e120863a4dc2dc6fd82431bdb962327891

Great. I’m applying this for the next Debian revision as well.

Quoted 4 lines

This should fix the problem. But I checked the only cross-compilation for ARM.

Can you confirm fix for other archs?

I just tried a native build on an ARM machine; everything seems fine. Debian’s autobuilders will soon provide feedback regarding the other architectures :-)

Cheers,

Signature · 1 line
Michael Schutte <[email protected]>
#4 lore raw
Quoted 3 lines · Michael Schutte

I just tried a native build on an ARM machine; everything seems fine. Debian’s autobuilders will soon provide feedback regarding the other architectures :-)

For the record, all succeeded.

Signature · 1 line
Michael Schutte <[email protected]>