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
  
This is what you need to do to install uLPC: 
 
1) Run ./configure, this is a sh script that will generate machine.h and 
   Makefile from machine.h.in and Makefile.in, use --prefix=/foo/bar 
   if you want to install ulpc in /foo/bar, default is /usr/local. 
 
   You might have to set the environment variables C_INCLUDE_PATH and 
   LD_LIBRARY_PATH to enable the configure script to find gdbm and gmp. 
   If the configure script does not find those libraries those modules 
   will not be available. 
 
2) edit config.h and Makefile to suit your purposes. 
   I've tried to make it so that you don't have to change config.h or 
   Makefile very much. If you need to do what you consider 'unnessecary 
   changes' then mail me and I'll try to fit it into configure. 
   If possible, use gnu make, gcc, gnu sed and bison. 
 
3) Run make. 
 
4) optionally, run 'make verify' to check that the compiled driver works 
   as it should (might be a good idea) This will take a little time and use 
   quite a lot of memory, because the testprogram is quite large. If everything 
   works out fine no extra messages are written. 
 
5) If you want to install ulpc, write 'make install' 
 
6) Optionally do 'make html_docs' to create a directory called docs which 
   will contain the uLPC documentation in html. This directory can then 
   be copied to anywhere you want. 
 
What to do when it doesn't work: 
1) Try again. 
 
2) Your sh might be too buggy to run ./configure. (This is the case on A/UX) 
   Try using bash, zsh or possibly ksh. To use bash, first run /bin/sh and 
   type: 
   $ CONFIG_SHELL=full_path_for_bash 
   $ export CONFIG_SHELL 
   $ $CONFIG_SHELL ./configure 
 
3) ./configure relies heavily on sed, if you have several sed in your path 
   try another sed. (preferably gnu sed) 
 
4) configure might have done something wrong, check machine.h and report 
   any errors back to me. 
 
5) Try a different compiler, malloc, compiler-compiler and/or make. 
   (if you have any other) 
 
6) On Linux Slackware machines (older than slackware 3.0), uLPC sometimes 
   fails to find -lm, this is because of a bug in /usr/lib/libm.sa 
   (or possibly libg.a) in slackware. 
   Compile with 'make EXTRALIBS="-lc -lm"' to get around this bug. 
 
7) 
If you find a bug in the interpreter, the first thing to do is to make sure 
the interpreter is compiled with DEBUG defined. If not recompile with DEBUG 
and see if you get another error. When you've done this, please report the 
bug to hubbe@lysator.liu.se and include as much as you can muster of the 
following: 
 
  o The version of the driver. (can be found in lib/simulate.lpc) 
  o What kind of system hardware/software you use (OS, compiler, etc.) 
  o the piece of code that crashes or bugs. 
    (preferably in a very small lpc-script with the bug isolated) 
    Please send a complete running example of something that makes the 
    interpreter bug. 
  o a description of what it is that bugs and when. 
  o if you know how then also give me a backtrace and dump of vital variables 
    at the point of crash. 
  o or, if you found the error and corrected it, just send me the bugfix along 
    with a description of what you did and why. 
 
  /Fredrik Hubinette