[1278] in athena10
Re: Building our own mit-scheme
daemon@ATHENA.MIT.EDU (Geoffrey Thomas)
Thu Mar 5 08:14:38 2009
Date: Thu, 5 Mar 2009 08:13:39 -0500 (EST)
From: Geoffrey Thomas <geofft@MIT.EDU>
To: Evan Broder <broder@mit.edu>
cc: Anders Kaseorg <andersk@mit.edu>, debathena@mit.edu
In-Reply-To: <49A49D33.1080100@mit.edu>
Message-ID: <alpine.DEB.2.00.0903050803590.10246@geminorum.mit.edu>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-184321579-1236258819=:10246"
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
--8323329-184321579-1236258819=:10246
Content-Type: TEXT/PLAIN; charset=UTF-8; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE
I don't believe I followed up on this thread (and the other one about=20
fixing it). It turns out that the package works perfectly fine on=20
Intrepid; you just need two things:
1. libltdl7 instead of libltdl3. libltdl7-dev says that it provides=20
libltdl3-dev, but the non-dev version doesn't do this.
2. The ability to map pages at 0.
For our purposes, if we choose to work around it, the minimal change is to=
=20
make an equivs package libltdl3 that brings in libltdl7, and to write a=20
wrapper script around mit-scheme that calls something suid root to sets=20
the vm.mmap_min_addr sysctl to 0 (instead of the default 65536). This is=20
exactly what I do on my laptop for 6.945. The mmap_min_addr step is a=20
vague security insurance against kernel null dereference bugs that lead to=
=20
privilege escalation, but on cluster machines (and on my laptop), the=20
only user is a sudoer anyway, so this has no security impact. Doing this=20
for anything less than cluster, because it's global, seems like a bad=20
idea.
For upstream, I think all we need to do is make libltdl7 Provide:=20
libltdl3, and rebuild mit-scheme without defining HEAP_IN_LOW_MEMORY. This=
=20
causes it to use a memory_base offset, rather than trying to use a linear=
=20
map between Scheme object addresses and virtual memory (C) addresses. It's=
=20
possible that rebuilding can make it link against libltdl7 directly, too.=
=20
This seems a lot simpler than asking Ubuntu to resync with Debian.
--=20
Geoffrey Thomas
geofft@mit.edu
On Tue, 24 Feb 2009, Evan Broder wrote:
> I agree with everyone else on this one, in terms of how the Debathena
> repository should be used. In particular, there are other Schemes that
> work fine, and Athena 10 won't even ship on Intrepid (except for early,
> but whatever).
>
> I'm skeptical about getting this fixed in intrepid-updates, since I'm
> skeptical that we can or want to come up with the minimal patch, and
> that's a pretty strong requirement. I'd recommend fixing this in Jaunty
> (since the package is completely disfunctional, it should be easy to get
> a freeze exception), and then using intrepid-backports if you really care=
=2E
>
> - Evan
>
> Anders Kaseorg wrote:
>> Trying to fix Intrepid bugs in our repository is a mistake. That is
>> not what the Debathena repository is for. We really want the fixes to
>> go upstream.
>>
>> mit-scheme has never been locally installed on Athena, so this is not
>> even a feature that is important for Athena 10. People that need it
>> in the mean time can run it from the scheme locker like they did before.
>>
>> I think it would be great to have a _separate_ repository that
>> contains =E2=80=9Ccool SIPB packages=E2=80=9D, analagous to the outland =
locker and/or
>> the sipb locker, but this is not something that we should force on
>> every Debathena user.
>>
>> Anders
>
--8323329-184321579-1236258819=:10246--