On Thu, May 01, 2014 at 09:44:19PM -0400, David Sanders wrote:
> AMD wrote:
> > I am writing as dictionaries-common maintainer (not aspell maintainer)
> > since some things here are related to the common dictionaries support
> > for aspell dictionary hashes autobuild.
> > 
> > The problem behind is that dictionary hashes are arch dependent, and
> > IIRC, this is not only about endianness. Currently, hashes are
> > auto-generated at postinst stage for most dictionaries, which are
> > arch:all. This way we keep our archive smaller and any possible change
> > in hash format automatically triggers a hash rebuild for all
> > dictionaries using this model making transitions painless.
> > 
> > Unfortunately, this is not very multiarch-friendly.
> 
> The dictionary hashes depend on two things endianness and the size_t
> for the architechture.  The upstream authors recognized this as a 
> problem on systems with 32-bit and 64-bit code and have a workaround.
> See here:
> 
> http://aspell.net/0.61/man-html/Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html
> 
> All that is required is to use a configure time flag to cause aspell to always
> use a 32-bit number in the hash.  Then for example the i386 and amd64
> architectures (and other combinations where the endianness is the same)
> can be configured for multiarch support.
> 
> This could be done relatively simpley for jessie.

Hi, thanks for the very interesting info.

Unfortunately, this is not all the problem. There are some things in aspell
buildchain that make this harder,

On Fri, Sep 05, 2014 at 06:57:27PM +0200, Matthias Urlichs wrote:
> this bug prevents installation of several nontrivial 3rd-party packages on
> Jessie;
> basically, anything that indirectly depends on some library which supports
> spell checking, even if the package in question doesn't do any spell
> checking whatsoever. Webkit, for instance.
...
> Please fix.

I have been looking at this in case I can prepare an aspell NMU, and as
wrote above, there are more things involved than just the 32/64-bit stuff
before we can have a multiarch implementation.

I have already done some work on this. I am trying to implement something
like (for i386/amd64)

/usr/lib/aspell:                         dicts, valid for both architectures.
/usr/lib/{i386,x86_64}-linux-gnu:        General purpose libs (libaspell...)
/usr/lib/aspell/{i386,x86_64}-linux-gnu: Aspell filters (binaries) and friends
/usr/share/aspell:                       Data files

For this some things need to be done:

a) Really fix https://bugs.debian.org/612051 instead of working around it.
   I think I found the reason for the problem and a working fix. Submitted
   upstream for his opinion.

b) Allow explicit selection of dictionaries path in a way independent of
   the place filters will go. Initial implementation done, needs more
   testing. Also let upstream know about this.

c) The usual multiarch stuff. 

The good news are that things seem to be working, so unless something weird
happens, I'd expect this to be fixed in time for jessie by means of an NMU,

Regards,

-- 
Agustin


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to