Re: Arch-independent parts of binary modules of interpreted languages
On Thu, 09 Aug 2007, Magnus Holmgren wrote:
> (Please don't start a debate over what an interpreted language is, I just
> tried to generalize the subject.)
> Perl XS module packages usually install all their code under /usr/lib/perl5 -
> not just the shared library that implements the external subroutine, but also
> at least one ordinary module, which interfaces with the shared library using
> DynaLoader and perhaps provides additional subroutines. These ordinary
> modules are not architecture-specific in themselves. I don't know that much
> about Python - IIUC the interpreter can directly load shared libraries that
> implement the right interface, but python2.4 and python2.5 at least
> install .py files in /usr/lib/python<version>.
> What's the rationale behind not strictly separating architecture-independent
> and architecture-specific code?
The rationale is simply that it's not always easily doable while using the
official installation methods, and that changing it manually is
error-prone and can be confusing in some cases.
While it's important that all files in /usr/share be arch-independent
(because one might want to share that between several machines),
it's not that important that /usr/lib contains only arch-dependent stuff.
In fact, in most cases it's convenient (if not required) to have the
arch-indep glue around the binary part in the same directory than the
Premier livre français sur Debian GNU/Linux :