File: PLATFORMS

package info (click to toggle)
clisp 1%3A2.44.1-4.1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 40,080 kB
  • ctags: 12,945
  • sloc: lisp: 77,546; ansic: 32,166; xml: 25,161; sh: 11,568; fortran: 7,094; cpp: 2,636; makefile: 1,234; perl: 164
file content (721 lines) | stat: -rw-r--r-- 27,167 bytes parent folder | download | duplicates (2)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
This file presents
* a list of platforms CLISP is known to run on,
* special hints for the following platforms:
    NetBSD/sparc 1.4.1
    PC 386 under FreeBSD 4.0
    BSDI 1.0
    PC 386 under GNU 0.2
    Sun4 (Sparc) under Linux
    PC 386 under SunOS 5.4
    HP9000/8xx under HP-UX version 8, 9, 10
    SINIX-N 5.43
    IRIX 6.2
    IRIX 6.2 and 6.3
    IRIX 6.5
    NeXT running NeXTstep 3.3
    Apple PowerPC running MacOS X Server
    AIX 3 and 4
    AIX 5.1
    DEC Alpha AXP running OSF/1 3.2
    DEC Alpha AXP running OSF/1 4.0b
    PC 386 under BeOS 5.0
    IA-64 running Linux, emulated by HP NUE
    AMD64 (x86_64) running FreeBSD
    DEC Alpha running Linux
    AFS (Andrew File System)
    PC 386 running OpenBSD 3.8
    Nokia N800 (Arm) running Linux
* hints for porting to new platforms.


List of platforms
-----------------

The Unix version of CLISP is known to run on a variety of machines
and operating systems. The following is a list of successful compiles,
in the format


hardware              OS             compiled by
date                  test-time      email address

(Test-time is the time needed for "make check-recompile". Measure user time.)


PC 486/33, 8 MB RAM   Linux 0.98     Bruno Haible
17.11.1992                  415 s    <haible@ma2s2.mathematik.uni-karlsruhe.de>
14.12.1992                  418 s
31.12.1992 (gcc233)         384 s
31.12.1992 (gcc233)         377 s
2.1.1993  (gcc233,shm)      359 s
2.1.1993  (gcc233,shm)      363 s
5.1.1993  (gcc233,486)      367 s
15.1.1993 (gcc233,486,shm)  356 s
15.1.1993 (gcc233,486,shm)  362 s
19.1.1993 (gcc233,486,shm)  360 s
29.1.1993 (gcc233,486)      366 s
10.2.1993 (gcc233,486,shm)  359 s
4.3.1993  (gcc233,486,shm)  351 s

PC 486/33, 8 MB RAM   Linux 0.99.7   Bruno Haible
18.3.1993 (gcc233,486,mmap) 337 s    <haible@ma2s2.mathematik.uni-karlsruhe.de>
5.5.1993  (gcc233,486,mmap) 346 s
5.6.1993  (gcc240,486,mmap) 366 s
17.7.1993 (gcc245,486,mmap) 368 s

PC 486/33, 8 MB RAM   Linux 0.99.12  Bruno Haible
22.9.1993 (gcc245,486,mmap) 464 s    <haible@ma2s2.mathematik.uni-karlsruhe.de>
4.11.1993 (gcc252,486,mmap) 453 s
1.1.1994 (gcc257,486,shm)   483 s

PC 486/33, 8 MB RAM   Linux 1.1.19   Bruno Haible
20.6.1994 (gcc257,mmap)     569 s    <haible@ma2s2.mathematik.uni-karlsruhe.de>
27.6.1994 (gcc257,mmap)     515 s
28.6.1994 (gcc257,mmap)     526 s
20.7.1994 (gcc260,mmap)     565 s
27.8.1994 (gcc260,mmap)     582 s

PC 486/33, 8 MB RAM   Linux 1.1.51   Bruno Haible
27.9.1994 (gcc260,gengc)    569 s
12.1.1995 (gcc263,shm,immutable,gengc) on Linux 1.1.80
                            628 s user + 1914 s system
14.1.1995 (gcc263,shm,immutable,gengc) on Linux 1.1.83
                            618 s user + 135 s system
17.1.1995 (gcc263,shm,immutable,gengc,minimal) on Linux 1.1.83
                            625 s user + 38 s system

PC 486/33, 8 MB RAM   Linux 1.2.2    Bruno Haible
4.4.1995 (gcc263,gengc)     578 s user + 42 s system
4.4.1995 (gcc263,gengc,imm) 613 s user + 34 s system
23.6.1995 (gcc263,gengc)    633 s user + 38 s system
23.6.1995 (gcc270,gengc)    615 s user + 37 s system

PC 486/33, 8 MB RAM   Linux 2.0.6    Bruno Haible
21.7.1996 (gcc270,gengc)    727 s user + 26 s system
8.8.1996 (g++270,gengc)     735 s user + 25 s system

PC 486/33, 16 MB RAM  Linux 2.0.29   Bruno Haible
29.6.1997 (gcc272,gengc)    797 s user + 32 s system
29.6.1997 (dito,STACK=ebx)  691 s user + 28 s system
14.7.1997 (SELFMADE_MMAP)   711 s user + 32 s system
14.7.1997 (HAVE_MMAP)       692 s user + 29 s system
6.8.1997                    652 s user + 29 s system
7.9.1997 (aout)             623 s user + 24 s system
7.9.1997 (aout)             614 s user + 25 s system
7.9.1997 (elf)              657 s user + 25 s system

PC 486/33, 16 MB RAM  Linux 2.0.33   Bruno Haible
17.6.1998 (egcs103)           603 s user + 25 s system
17.6.1998 (egcs103,HEAPCODES) 606 s user + 29 s system

PC 486/50, 32 MB RAM  Linux 0.99.14  Marcus Daniels
25.1.1994 (gcc258,shm)      331 s    <marcus@ee.pdx.edu>
25.1.1994 (gcc258,486,shm)  319 s

PC 586/100, 16 MB RAM Linux 1.3.79   Marcus Daniels
23.5.1996 (gcc272l3 a.out)  130 s
23.5.1996 (gcc272l3 ELF)    132 s

PC 586/100, 16 MB RAM Linux 2.0 (Debian 1.1)  Marcus Daniels
17.6.1996 (gcc272 ELF)      144 s
27.7.1996 (gcc272 ELF)      143 s

PC 586/166, 128 MB RAM Linux 2.0     Marcus Daniels
20.6.1996 (gcc272l3)        125 s    <marcus@sysc.pdx.edu>

PC 686/150, 128 MB RAM Linux 2.1.29  Marcus Daniels
13.4.1997                    86 s    <marcus@sysc.pdx.edu>

PC Athlon/500, 256 MB  Linux 2.2.13  Bruno Haible
6.2.2000                     26.2 s  <haible@clisp.cons.org>

Sun 3                 SunOS 4.1.1    Bruno Haible
17.4.1993               2296 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>

Sun386i               SunOS 4.0.2    Bruno Haible
13.1.1993                            <haible@ma2s2.mathematik.uni-karlsruhe.de>

Sun 4/70 (Sparc 2)    SunOS 4.1.1    Bruno Haible
19.11.1992 (gcc23)       291 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>
22.12.1992 (gcc23)       298 s
28.12.1992 (gcc23)       291 s
1.1.1993   (cc)          424 s
1.2.1993   (gcc23)       268 s
4.2.1993   (gcc23)       276 s
28.3.1993  (gcc23)       276 s
11.5.1993  (gcc23)       274 s
2.11.1993  (cc -O0)      600 s
2.11.1993  (cc -O1)      493 s
3.11.1993  (cc -O2)      649 s
3.11.1993  (cc -O3)      614 s
3.11.1993  (cc)          582 s
14.1.1994  (cc)          632 s
21.7.1994  (gcc260,wide) 754 s

Sun 4/75 (Sparc 2)    SunOS 4.1.3    Marcus Daniels
25.1.1994 (gcc233)       492 s       <marcus@ee.pdx.edu>
1.3.1996 (gcc258)        553 s
22.3.1996 (gcc272)       561 s
23.5.1996 (gcc272)       562 s
17.6.1996 (gcc272)       572 s
20.6.1996 (gcc272)       573 s
28.7.1996 (gcc272)       585 s

Sun 4c (Sparc 1)      SunOS 4.1.2    Martin Sjölin
16.12.1992               679 s       <marsj@ida.liu.se>

Sun 4m (Sparc 10)     SunOS 4.1.3    Bruno Haible
16.1.1993 (gcc233)       208 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>
17.1.1993 (gcc233,shm)   203 s
20.1.1993 (gcc233,shm)   186 s
26.6.1994 (gcc)          307 s

Sun 4/75 (Sparc 2)    SunOS 4.1.3_U1 Bruno Haible
8.12.1995 (gcc270)       503 s       <haible@ilog.fr>

Sun 4m (Sun 4/600)    SunOS 4.1.3    Marcus Daniels
25.1.1994 (gcc233,shm)   453 s       <marcus@ee.pdx.edu>

Sun 4m (Sparc 10)     SunOS 5.1 (Solaris 2)
21.3.1993                387 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>
7.9.1993                 500 s

Sun 4m (Sparc 10)     SunOS 5.3      Bruno Haible
4.7.1994 (gcc245)        587 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>

Sun 4m (Sparc 20)     SunOS 5.4 (Solaris 2.4)   Bruno Haible
CPU TI,TMS390Z55, 64 MB RAM                     <haible@ilog.fr>
5.8.1995 (SUNWspro 3.0.1)  225 s
8.12.1995 (gcc270)         148 s

Sun 4m                SunOS 5.4 (Solaris 2.4)   Marcus Daniels
12.8.1995 (gcc263)         259 s     <marcus@sysc.pdx.edu>

Sun 4m (Sparc 20)     SunOS 5.4 (Solaris 2.4)   Marcus Daniels
1.3.1996 (gcc272)          177 s
12.3.1996 (gcc263)         181 s
20.3.1996 (gcc263)         173 s
21.3.1996 (gcc272l3)       167 s
22.3.1996 (gcc272l3)       177 s
30.3.1996 (gcc272l3)       169 s
2.5.1996 (gcc272l3)        172 s
23.5.1996 (gcc272l3)       170 s
17.6.1996 (gcc272l3)       171 s
20.6.1996 (gcc272l3)       169 s

Sun 4m (Sparc 10)     SunOS 5.5.1    Marcus Daniels
27.7.1996 (gcc272l3)     278 s       <marcus@sysc.pdx.edu>
28.7.1996 (gcc272l3)     291 s

Sun 4u (UltraSparc1)  SunOS 5.5.1    Marcus Daniels
13.4.1997                 86 s       <marcus@sysc.pdx.edu>

Sun 4d                SunOS 5.[23]   Adam M. Costello
2.12.1993 (gcc245)       313 s       <amc@ecl.wustl.edu>

Sun 4m (2 cpus)       SunOS 5.3      Alva L. Couch
23.2.1994 (gcc258)       203 s       <couch@cs.tufts.edu>

PC 486/33, 32 MB RAM  SunOS 5.4      Marty Shannon
1.5.1995 (gcc263,noasm)  669 s       <mshannon@i-2000.com>

PC 586/200            SunOS 5.5.1    Marty Shannon
15.4.1997                137 s       <mshannon@i-2000.com>

i386                  Consensys 4.0  Bruno Haible
18.12.1992             --- (*)       <haible@ma2s2.mathematik.uni-karlsruhe.de>
7.9.1993               --- (*)

PC 486/33, 32 MB RAM  Consensys 4.2  Jean-Claude Beaudoin
21.9.1993                            <jbeaudoi@sobeco.com>

HP 9000/825           HP-UX 8        Bruno Haible
27.6.1994               2498 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>

HP 9000/835           HP-UX 8        Bruno Haible
27.6.1994               1203 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>

HP 9000/720           HP-UX 8.05     Bruno Haible
1.1.1993                 309 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>
27.6.1994                335 s
4.7.1994                 360 s

PC 486/33, 8 MB RAM   Coherent 4.0.1 Bruno Haible
16.5.1993 (cc)           470 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>
16.5.1993 (gcc140)       413 s

PC 386/33, 16MB RAM   UHC UNIX SysV.4   Blake McBride
20.3.1993 (UHC_1)       1125 s          <blake@netcom.com>
20.3.1993 (UHC_2)       1182 s

PC 486/33, 16 MB RAM  SINIX-Z V5.41  Manfred Weichel
29.7.1993 (gcc245)       383 s       <manfred.weichel@mch.sni.de>
11.7.1994 (gcc258)

PC                    386BSD 0.1     Charles Hannum
26.3.1993                            <mycroft@gnu.ai.mit.edu>

PC 486/33, 8 MB RAM   NetBSD 1.0 Beta   Douglas Crosher
30.8.1994 (gcc245)          582 s       <dtc@stan.xx.swin.oz.au>
30.8.1994 (gcc245,mmap)     522 s       <dtc@scrooge.ee.swin.oz.au>
30.8.1994 (gcc245,shm)      488 s
2.9.1994  (gcc245,gengc)    502 s

DECstation 5000       Ultrix V4.2A   Benlu Jiang
5.5.1993                             <manager@csdeca.cs.missouri.edu>

DECstation 5000       Ultrix V4.4    Bruno Haible
20.12.1995               759 s       <haible@ilog.fr>

SGI Mips              IRIX 4         Michael Stoll
11.6.1993                315 s       <michael@rhein.iam.uni-bonn.de>

SGI Mips              IRIX 5         Christian Moen
31.12.1993 (gcc)                     <christim@ifi.uio.no>

SGI Mips              IRIX 5         Martin Cracauer
28.9.1994 (cc)                       <cracauer@wavehh.hanse.de>

SGI Mips, 64 MB RAM   IRIX 5.2       Dorin Ungureanu
134 MHz, CPU R4600, FPU R4610        <Dorin.Ungureanu@esat.kuleuven.ac.be>
8.4.1995 (gcc)

SGI Mips (Indy)       IRIX 5.2       Marcus Daniels
134 MHZ IP22 Processor               <marcus@sysc.pdx.edu>
12.8.1995 (gcc270)       250 s

SGI Mips              IRIX 5.3       Bruno Haible
8.12.1995 (cc)           232 s       <haible@ilog.fr>

SGI Mips (Indy)       IRIX 5.3       Marcus Daniels
100 MHZ IP22 Processor               <marcus@sysc.pdx.edu>
12.8.1995 (gcc270)       435 s
1.4.1996 (gcc272)        427 s

SGI Mips (Indy)       IRIX 5.3       Marcus Daniels
134 MHZ IP22 Processor               <marcus@sysc.pdx.edu>
19.2.1996 (gcc272)       241 s
1.3.1996 (gcc272)        253 s
12.3.1996 (gcc272)       250 s
20.3.1996 (gcc272)       248 s
30.3.1996 (gcc272)       249 s
1.4.1996 (gcc272f1)      248 s
23.5.1996 (gcc272f1)     253 s
17.6.1996 (gcc272f1)     260 s
20.6.1996 (gcc272f1)     257 s
27.7.1996 (gcc272f1)     266 s
28.7.1996 (gcc272f1)     259 s

SGI Mips              IRIX 6.2       Bruno Haible
5.6.1997 (cc 7.0)                    <haible@ilog.fr>

SGI Mips              IRIX64 6.2     Bruno Haible
9.8.1996 (CC -O)         289 s       <haible@ilog.fr>

SGI Mips              IRIX64         Boris
10.5.1997 (gcc2722)                  <boris@cs.caltech.edu>

RM400 Mips            SINIX-N V5.42  Michael Becker
8.12.1994 (c89)                      <mb12@coconet.de>

RM Mips               SINIX-N V5.43  Bruno Haible
2.5.1997 (cc)                        <haible@ilog.fr>

IBM Risc System 6000  AIX 3.2        Gabor Herr
22.9.1993                            <herr@iti.informatik.th-darmstadt.de>

DEC Alpha AXP         OSF/1 1.3      Bruno Haible
3.12.1993                141 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>
8.1.1994 (gcc257)        145 s

DEC Alpha AXP         OSF/1 2.0      Bruno Haible
2.8.1994 (gcc258)        159 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>

DEC Alpha EV5         Linux 2.0.33   Bruno Haible
7.5.1998 (gcc2723)        48 s       <haible@ilog.fr>

PC 486/50, 16 MB RAM  Onsite SysV R 4.2   Sebastian Feldmann
30.10.1993 (cc)          429 s            <snfeldma@teebox.franken.de>
7.11.1993 (gcc233)       348 s
7.11.1993 (gcc245)       345 s

Amiga 3000            AMIX 2.1 SysVR4.0   Michel Loi
22.12.1993 (gcc255)                       <Michel.Loi@lip.ens-lyon.fr>

Amiga (68060/50)      Linux 2.0.36   Bruno Haible
13.4.2000 (gcc2952)      613 s       <haible@ilog.fr>

NeXT                  NeXTstep 3.1   Marcus Daniels
30.10.1993 (cc)                      <marcus@ee.pdx.edu>

NeXT (68040/25)       NeXTstep 3.2   Marcus Daniels
18.1.1994                751 s       <marcus@ee.pdx.edu>
(cc=gcc222)
18.1.1994                627 s
(cc=gcc-222+Mach-VM-singlemap)

PC 486DX2-66, 24 MB RAM  NeXTstep 3.2     Michael Stoll
5.7.1994 (cc)            359 s            <michael@rhein.iam.uni-bonn.de>
20.4.1995 (cc)           355 s
24.4.1995 (gcc258)       330 s

Sequent PTX (386/16)  DYNIX/ptx V2.1.0    Marcus Daniels
(gcc233, mmap)          2232 s            <marcus@ee.pdx.edu>

Sequent PTX (586/100) DYNIX/ptx V4.1.3    Marcus Daniels
(gcc272)                 169 s            <marcus@sysc.pdx.edu>

PC                    UnixWare       Alexander Adam
24.1.1994                            <adam@is.informatik.uni-stuttgart.de>

PC (486)              SCO 3.2 v4.2   Bruno Haible
19.4.1995 (gcc263)       547 s       <haible@ma2s2.mathematik.uni-karlsruhe.de>

Data General M88000   DG/UX          Pat McClanahan
3.2.1994                 539 s       <mcclanah@dlgeo.cr.usgs.gov>

PC                    BSDI/386 1.1        Atsuo Ohki
16.5.1994                                 <ohki@gssm.otsuka.tsukuba.ac.jp>

Compaq Armada E500 PIII 128MB 700Mhz  Win2000  Cygwin GCC 2.95.3-5
2002-07-13    Sam Steingold <sds@gnu.org>
                      97.6 s user + 53.6 s system

Apple iBook PPC G4    MacOS X 10.3.8  Bruno Haible  <bruno@clisp.org>
2005-03               54.12 s user +  9.36 s system (without generational GC)
                      46.41 s user + 13.85 s system (with generational GC)

Apple Macbook Intel   MacOS X 10.4.5  Gene Garbutt  <ggarbutt@mac.com>
2006-03               19.13 s user +  6.59 s system

ARM 1136J-S, 128M RAM, gcc 3.4.4,     Jamie Craig <jamie@jamiecraig.com>
2007-07-11            5m28.941s (4m58.844s user, 0m13.234s sys)
running from SD card instead of internal flash.
CFLAGS='-DNO_GENERATIONAL_GC -mcpu=arm1136j-s'
http://permalink.gmane.org/gmane.lisp.clisp.general/11881

When you install CLISP on a machine not mentioned here, please send us a short
note containing the information mentioned above. If you didn't succeed in
building CLISP, please tell us the problems: we will try to make CLISP as
portable as possible.


Special hints for some platforms:
---------------------------------


* On NetBSD/sparc 1.4.1:

The default stack limit is 512 KB, which is not sufficient for building CLISP.
Use the "ulimit -s" command to increase it.


* On PC 386 under FreeBSD 4.0:

gcc 2.95.2 miscompiles the streamp() macro in (at least) io.d at optimization
level -O2. Replace -O2 with -O in the CFLAGS in the makefile. This is fixed in
gcc-3.3.1.


* On BSDI 1.0:

Add -DNO_ASM to the CFLAGS in the makefile. Otherwise the assembly code in
eval.d cannot be fed through the assembler.


* On a 386 PC under GNU 0.2 (the Hurd):

Before starting the configuration, disable the "crash" server:
  $ settrans -g /servers/crash
Otherwise some of the configuration tests, which result in a SIGSEGV, cause
the entire configuration to hang (waiting for a debugger to be manually
attached).

Choose "gcc -D__USE_GNU" as compiler.

After configuring, change build-dir/config.h to contain the line
  #undef HAVE_GETRUSAGE

For executing "makemake", the default shell (bash-2.0) cannot be used (buggy).
Install bash-2.01 or newer.


* On a Sun4 (Sparc) under Linux:

After configuring, change build-dir/config.h to contain the lines
  #undef HAVE_MMAP_DEVZERO
  #undef HAVE_MMAP_DEVZERO_SUN4_29
Otherwise, the poor Sparc1 will freeze up about half way through the compile
of compiler.lisp. Looks like a kernel problem.


* On a 386 PC under SunOS 5.4 (Solaris 2.4):

Use CC="gcc". You can't use "gcc -ansi" because (at least) the <sys/signal.h>
(#included by <signal.h>) thinks "gcc -ansi" means *strict* ANSI, which
prevents the `sigaction' stuff from being made available.

If you want to use shared memory for generational garbage collection, you
may need to add the following to your /etc/system file:

forceload: sys/shmsys
set shmsys:shminfo_shmseg = 256
set shmsys:shminfo_shmmni = 256

Avoid the shared libraries in /usr/ucblib. If this directory is in your
LD_LIBRARY_PATH when you configure CLISP, not only will the build fail and
require intervention, but once it is linked, shared libraries will appear
in VM that CLISP expects to be free.


* On a HP9000/8xx under HP-UX version 8, 9, 10:

If cc had no bugs:
  Choose "cc -Aa -z -D_HPUX_SOURCE" or "c89 -z -D_HPUX_SOURCE" as compiler,
  as described in paragraph 2 of the INSTALL file.
  You need the -Aa flag resp. the c89 compiler because the normal "cc" does not
  expand macros with arguments within constant expressions in preprocessor
  commands like #if.
  Without the -D_HPUX_SOURCE flag many include files are incomplete. When using
  -D_POSIX_SOURCE instead, <errno.h> fails to define ELOOP.
  The -z flag is harmless.
Alas, cc and c89 initialize string arrays declared like
    static char* table[] = { 0?"a":1?"b":"", ..., 0?"x":1?"y":"", };
with NULL pointers!
On HP-UX 10, the compilation also fails with error messages like
    "Catenated input line too long" and "Macro param too large".
So get and install GNU gcc. This works for sure.

If you get an error message "initialisation file was not created by this
version of LISP", remove the "-O2" from CFLAGS in the makefile, remove spvw.o
and continue.

The sh and ksh on HP-UX 10 have severe bugs that cause
  1. Most invocations of lisp.run crash like this (from HP-UX make):
       ./lisp.run ...
       /bin/sh: 18546 Bus error
     or like this (from GNU make):
       ./lisp.run ...
       *** Termination signal 11
  2. A command such as  'grep -v "^ *$$"'  to be executed incorrectly.
As a workaround, the Makefile has "SHELL = bash" instead of "SHELL = /bin/sh"
on this platform. For this to work, you need to have GNU bash in your PATH,
and you need to use GNU make instead of HP-UX make.

With older versions of gcc, the testsuite causes a failure because of ISQRT.
A workaround is to use gcc 2.95.2 or newer.

HP-UX has two different malloc() implementations.  Both are broken.
When used with CLISP, the one in the default libc.a leads to a SIGSEGV,
the one in libmalloc.a leads to a SIGBUS.
Pass "--with-gmalloc" to ./configure to work around this problem.


* On SINIX-N 5.43:

Choose CC="cc -D_XPG_IV" instead of CC=cc. This avoids a problem with a wrong
declaration of gettimeofday().


* On IRIX 6.2 in 64-bit mode:

The C compiler 6.2 is unable to compile CLISP. If you don't have the C
compiler 7.0 or newer, you have to use the C++ compiler 7.0 instead.
Drawback: You can't compile with readline or FFI or module support. You
may add "-DSAFETY=2" to the CFLAGS in the makefile (optimize but don't
introduce assembly language parts). Do *not* add "-OPT:Olimit=6000" to the
CFLAGS, as the compiler suggests when compiling eval.d, because then
eval.d is apparently miscompiled. Remove the "-L/usr/lib -lX11" from the
CFLAGS in the makefile, if your X11 libraries are 32-bit.


* On IRIX 6.2 and 6.3:

The configuration of ffcall hangs during "checking for working mprotect".
The running `conftest' process is unkillable. No workaround is known.
The problem seems to be gone in IRIX 6.4.


* On IRIX 6.5:

The /bin/sh has a problem with autoconf generated configure scripts. You
have to first install GNU bash and point the CONFIG_SHELL environment
variable to it:
  $ CONFIG_SHELL=/bin/bash
  $ export CONFIG_SHELL

With the C compiler 7.2.1 we were not able to make CLISP work. So use
GNU gcc instead.


* On NeXT running NeXTstep 3.3:

NeXT's cc has problem with the inline assembler commands. Either add
-DNO_ASM to the CFLAGS in the Makefile, or use gcc-2.7.2 or newer.

If you get an error in the header file "ip.h" because the type `n_long' is
undefined, add -Dn_long='unsigned long' to the CFLAGS in the Makefile.


* On Apple PowerPC running MacOS X Server:

You can get C development tools from either
Fink - <http://fink.sourceforge.net> (Free Software ported to Darwin)
or Apple - <http://developer.apple.com/tools>.

The standard "/bin/sh" shell has at least two bugs which make it
unusable for the configuration scripts.  As a workaround, you have to
set the environment variable CONFIG_SHELL to "/bin/bash", and start
"$CONFIG_SHELL ./configure ..." instead of "./configure ...".

The default stack size limit is 512 KB, which is too small for bootstrapping
CLISP. Even 1 MB is too small. Try "ulimit -S -s 8192" before starting "make"
or "limit stacksize 8192" is you are using a CSH-derivative.

Remove all optimization options ("-O", "-O2") from the CC and CFLAGS variables
in the Makefile. Apple's cc crashes when compiling eval.d with optimization.

Dec2002 Developer tools with the gcc 3.3 update work OOTB, but
older versions of GCC might require the `--traditional-cpp' option.
If you get weird compilation errors (like #else mismatch), try it.

MacOS X comes with an ancient, incompatible BSD readline version from Apple.
To use the Fink version instead, invoke the top-level configure as
./configure --with-libreadline-prefix=/sw ...

MacOS X 10.3 builds OOTB with gcc 4, but 10.4 may report a segfault in
closed_buffered() on startup (CLISP works fine but starts slower because
of the segfault).  Add -DNO_GENERATIONAL_GC to CFLAGS if you want to
avoid that (large jobs that use lots of memory benefit from generatinal
GC, so the small startup slowdown may not matter for you).
<http://article.gmane.org/gmane.lisp.clisp.general:10475>
<http://article.gmane.org/gmane.lisp.clisp.general:10481>


* On AIX 3 and 4:

You can't use "cc" as compiler since it wants more than 64 MB RAM to compile
eval.d. You will use GNU gcc without regrets.
You can't use "xlc" as compiler on AIX 4 since it miscompiled certain casts
between integer types.
Choose gcc as compiler, as described in paragraph 2 of the INSTALL file.

The /bin/sh which is used during configuration may complain about
the config.cache which is generated.  If this happens, start over
with the variable CONFIG_SHELL exported as a reliable shell, like bash.


* On AIX 5.1:

When using "xlc -D_ALL_SOURCE" as compiler, you cannot use optimizations.
So remove any -O from the CFLAGS in the Makefile.


* On DEC Alpha AXP running OSF/1 3.2:

The build process crashes during bootstrap, right after loading backquote.lisp.
You'd better try with gcc.


* On DEC Alpha AXP running OSF/1 4.0b:

cc has a preprocessor bug which occurs in spvw.d and eval.d. So get and
install GNU gcc (version 2.5.5 or newer).
The bug should be gone in OSF/1 4.0c. But on OSF/1 4.0d, the preprocessor
has another bug which occurs in pathname.d. So get and install GNU gcc
for real.


* On PC 386 under BeOS 5.0:

gcc miscompiles something with the default flags. Changing the CFLAGS in
the Makefile, replacing "-fomit-frame-pointer -O2 -fexpensive-optimizations"
with "-O", avoids this.


* On IA-64 running Linux, emulated by HP NUE:

Add -DNO_MULTIMAP_SHM -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -DNO_TRIVIALMAP
to the CFLAGS, or, equivalently, pass "--disable-mmap" to ./configure.


* On AMD64 (x86_64) running FreeBSD:

Add -DNO_MULTIMAP_SHM -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -DNO_TRIVIALMAP
to the CFLAGS, or, equivalently, pass "--disable-mmap" to ./configure.


* On DEC Alpha running Linux:

Add -DNO_MULTIMAP_SHM -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -DNO_TRIVIALMAP
to the CFLAGS, or, equivalently, pass "--disable-mmap" to ./configure.


* On platforms using AFS:

You may get an "Invalid cross-device link" error.
If you do, try running make as "make LN_HARD='cp -p' LN='cp -p'".


* On PC 386 running OpenBSD 3.8:

If you get mmap errors on the first invocation of lisp.run, this is
likely due to the new randomizing malloc.
Pass "--with-gmalloc" to ./configure to work around this problem.
If the problem persists, copy ftp://gee.cs.oswego.edu/pub/misc/malloc.c
to malloc/gmalloc.c; change line 509 to "#define HAVE_MMAP 0";
and try "--with-gmalloc" again.


* On Nokia N800 (Arm) running Linux:

If you get a crash during loading of the first few lisp file (first GC),
add "-DNO_GENERATIONAL_GC" to CFLAGS.
If your modules do not work (clisp.h does not define "object" type),
install GNU sed.


Hints for porting to new platforms:
-----------------------------------

Choose a reliable C compiler. GNU gcc is a good bet. Generally, start the
port with the least optimization settings regarding the compiler (-O0 in
the CFLAGS) and the safest optimization settings regarding the CLISP source
(-DSAFETY=3 in the CFLAGS).

Some options or optimizations are enabled through macros, conditionally
defined in lispbibl.d. You can check which macros get defined in lispbibl.d
by looking into lispbibl.h, assuming you are using gcc. For example:
    make lispbibl.h
    grep TYPECODES lispbibl.h

Has your machine a weird address space layout?
On 64-bit machines, CLISP assumes that the code and data area as well as the
area of malloc'ed memory have addresses in specific ranges, each at most 4 GB
large. This allows CLISP to use the upper 32 bits as tags, for encoding the
run time type of Lisp objects. In case this assumption does not hold, find a
way to store 8 tag bits and an address in a 64 bit word, and modify lispbibl.d
appropriately. No assumptions about the stack area are made.

Has your operating system shared memory or memory mapping facilities?
On 64-bit platforms, CLISP tries to use them to save the time for stripping
off the tag bits (see above) before memory accesses. If you get an error
message concerning shared memory, you should add -DNO_MULTIMAP_SHM to the
CFLAGS and recompile. If you get an error message concerning mapped memory,
you should add -DNO_MULTIMAP_FILE -DNO_SINGLEMAP to the CFLAGS and recompile.
Doing so introduces a speed penalty of about 6%. If you still get an error
message concerning mapped memory, you should add -DNO_TRIVIALMAP to the CFLAGS
and recompile.

If you get an error message mentioning "handle_fault", then generational GC
is not working. Add -DNO_GENERATIONAL_GC to the CFLAGS and recompile.

If you get an error message during the loading of the first 10 Lisp files,
during the construction of the first .mem file, check the choice of
setjmp/longjmp functions in lispbibl.d.

If interpreted.mem was successfully generated, but lisp.run dumps core when
loading .fas files, you should add -DSAFETY=3 to the CFLAGS and recompile.
Find out which is the least SAFETY level that produces a working lisp.run and
lispinit.mem, and tell me about it.