[Pkg-ime-devel] brise: change to arch:all?

Guo Yixuan culu.gyx at gmail.com
Mon May 26 03:04:51 UTC 2014


On Wed, May 14, 2014 at 1:49 PM, Aron Xu <aron at debian.org> wrote:
>
> No they aren't architecture-independent even they are installed to
> /usr/share. Also, RIME itself does not build on many architectures,
> and I believe this could be a more worthy priority.
>
> Thanks,
> Aron

I've built librime and tried to build brise, under sparc. And it just failed
with a bus error (SIGBUS), similar to many other architectures.[1]

It appears to be a misaligned access, thus probably a bug in g++. (I've
tried both g++-4.8 and g++-4.9)

$ gdb rime_deployer
GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1.1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "sparc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/rime_deployer...Reading symbols from
/usr/lib/debug/.build-id/33/a0ab4c492de00481dff12c37037b20b8d26b64.debug...done.
done.
(gdb) run --build  /mnt/sdb2/pkg2/ime/brise/data
Starting program: /usr/bin/rime_deployer --build
 /mnt/sdb2/pkg2/ime/brise/data
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/sparc-linux-gnu/libthread_db.so.1".

Program received signal SIGBUS, Bus error.
0xf7e795bc in rime::Table::BuildHeadIndex (this=this at entry=0x37b4c,
vocabulary=..., num_syllables=num_syllables at entry=422)
    at /mnt/sdb2/pkg2/ime/librime/src/dict/table.cc:300
300       for (const auto& v : vocabulary) {
(gdb) x/i $pc
=> 0xf7e795bc <rime::Table::BuildHeadIndex(rime::Vocabulary const&,
unsigned int)+188>: st  %i2, [ %l2 + %l1 ]
(gdb) p $l2
$1 = -243040256
(gdb) p/x $l2
$2 = 0xf1838000
(gdb) p/x $l1
$3 = 0xdca
(gdb) x/i $npc
   0xf7e795c0 <rime::Table::BuildHeadIndex(rime::Vocabulary const&,
unsigned int)+192>: add  %fp, -12, %i2
(gdb) p $i2
$4 = 422

Because (%l2 + %l1) % 4 != 0, the instruction
"st  %i2, [ %l2 + %l1 ]" generated a SIGBUS,

arm* and mips* are also RISC with stricter memory
alignment requirement, so the other FTBFSes could
be of the same reason.

[1] https://buildd.debian.org/status/package.php?p=brise

Yixuan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-ime-devel/attachments/20140525/a26f65e6/attachment.html>


More information about the Pkg-ime-devel mailing list