aboutsummaryrefslogtreecommitdiffstats
path: root/other/mit-scheme-etch-amd64-howto.txt
blob: 0bc5405a3d86fa6d363b4ae4c3b2f0993b3e9563 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Getting scmutils/mit-scheme rolling on amd64 Linux (Debian-based)
========================================================================

(you'll have to do a lot of this as root or sudo along)

First download and install regular 32bit binaries for your debian-like system.

For mit-scheme, the generic linux binaries are for debian 3.1 and have some
crusty library dependancies, but the .deb files won't install by default. You
can either make them install or unpack the .debs and install by hand
(sidestepping regular package management, kind of a faux pas, meh):

    $ ar -x mit-scheme_7.7.90+20060906-3_i386.deb
    $ tar xvf control.tar.gz
    $ cp -a usr/* /usr/

For scmutils just follow the directions for unpacking the .tar.gz.

Then try to run the binary:

    $ /usr/bin/mit-scheme

or:

    $ /usr/local/bin/mechanics

Uh oh, missing file or some such message? Got some bad 32bit library mojo!
Luckily we can install regular 32bit libraries in parallel. First,

    $ apt-get install ia32-libs

The binary still won't work, we're missing some libraries, so double check:

    $ ldd mit-scheme-native 
            linux-gate.so.1 =>  (0xffffe000)
            libgdbm.so.3 => not found
            libmhash.so.2 => not found
            libcrypto.so.0.9.8 => not found
            libncurses.so.5 => /lib32/libncurses.so.5 (0xf7f9c000)
            libm.so.6 => /lib32/libm.so.6 (0xf7f78000)
            libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7e8c000)
            libc.so.6 => /lib32/libc.so.6 (0xf7d61000)
            /lib/ld-linux.so.2 (0xf7fe6000)
            libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7d5e000)
            libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7d58000)
            libdl.so.2 => /lib32/libdl.so.2 (0xf7d54000)

Installing regular versions didn't help, need to go get the 32 bit versions and
install manually:

    $ wget http://debian.lcs.mit.edu/debian/pool/main/o/openssl/libcrypto0.9.8-udeb_0.9.8c-4etch3_i386.udeb
    $ wget http://debian.lcs.mit.edu/debian/pool/main/g/gdbm/libgdbm3_1.8.3-3_i386.deb
    $ wget http://debian.lcs.mit.edu/debian/pool/main/m/mhash/libmhash2_0.9.7-1_i386.deb
    $ dpkg -X libmhash2_0.9.7-1_i386.deb /emul/ia32-linux/
    $ dpkg -X libgdbm3_1.8.3-3_i386.deb /emul/ia32-linux/
    $ dpkg -X libcrypto0.9.8-udeb_0.9.8c-4etch3_i386.udeb /emul/ia32-linux/
    $ ldconfig

And voila:

    $ uname -a
    Linux eta 2.6.18-6-xen-amd64 #1 SMP Fri Dec 12 07:02:03 UTC 2008 x86_64 GNU/Linux
    $ mechanics &
    Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
        1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
        2006, 2007, 2008 Massachusetts Institute of Technology
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    Image saved on Wednesday October 29, 2008 at 8:08:07 PM
    Release 7.7.90.+                 || Microcode 15.1  || Runtime 15.7
    SF 4.41                          || LIAR/i386 4.118 || Edwin 3.116
    ScmUtils Mechanics . Summer 2008

See also:

    * http://www.debian-administration.org/articles/531
    * https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html#id292233