[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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
binary part.

Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :

Reply to: