[pkg-s48-maint] Bug#110073: scsh-0.6 in P-a-s

Lionel Elie Mamane lionel at mamane.lu
Mon Jan 30 19:03:33 UTC 2006

Dear p-a-s maintainers,

On Mon, Jan 30, 2006 at 05:25:40PM +0100, Roberto Pariset wrote:
> LaMont Jones wrote:
>>> scsh-0.6 should be added with tags !amd64 !ia64 !alpha.

>> This is really something that should be requested by the maintainer
>> of the package or one of the porters for the architecture... The
>> fact that the package fails to build on some archtectures is not,
>> in and of itself, sufficient to warrant adding the package to
>> Package-arch-specific.

>> In cases where the package "successfully" builds, but produces useless
>> binaries, and upstream, nor the debian-developer, nor the debian architecture
>> porting-team sees that architecture being supportable or support-worthy in
>> the next year or more, then it makes sense for the DD or porter to request
>> the addition.

> since scsh-0.6 is 32-bit only code, could you please add it to
> http://unstable.buildd.net/buildd/Packages-arch-specific , if you
> think it's the case?

I have no opinion on whether scsh-0.6 should be or should not be put
in p-a-s. What I know is that:

 - Trying to build it on a 64 bit architecture is a waste of
   resources. It will not work.

 - I am explicitly and machine-readably expressing this by not
   including any of ia64, alpha, amd64, ppc64 or s390x in the
   "Architecture:" line of the only non-"Architecture: all" package of
   the source package.

   Maybe I screwed up the arch list and a 64 bit architecture has
   crept in? That's a bug. Tell me (e.g. by filing a bug in the BTS)
   and I'll correct it.

   Hence, if anyone - human or program - tries to build it on one of
   these architectures, there is nothing I can do. I warned them.

 - The day it *might* work, I will change the "Architecture:" line of
   the package. I promise. For example to "Architecture: any".

 - If a limitation of the buildd system requires that this information
   be compiled by humans in another form (such as p-a-s), and you are
   these humans, then be my guest. Go forth and compile.

Scsh is based on (and includes a copy of) Scheme48. Here's what
forcer at debian.org said about Scheme48:

Scheme48 is using a virtual machine and bit field type tags, and
sadly, the assumptions on 32 bit are deeply ingrained into the
whole system.

Type tags for values in Scheme are important for run time type
checks. Every kind of immediate value---fixnums, characters,
booleans, the empty list, etc.---and also non-immediates---i.e.
pointers to the real values---require a type tag, and 32 bit
architectures have tight constraints on them due to the limited
number of bits (the more bits you take for type tags, the less
bits you have for fixnums, and worse, pointers for
non-immediates). 64 bit architectures allow different
optimizations in this regard, as the pointer alignment is
different. The correct solution is to provide conditional support
for 64 bit and 32 bit architectures.

I'm not aware of any attempt to port Scheme48 to 64 bit for now.
Upstream is working on a completely new native code compiler
backend, which _might_ support 64 bit, but this is just
speculation on my part.


More information about the pkg-scheme48-maintainers mailing list