[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Nightly build
From: |
root |
Subject: |
Re: [Axiom-developer] Nightly build |
Date: |
Sun, 19 Dec 2004 02:48:54 -0500 |
Meino,
The problem is your AXIOM variable again.
Perhaps I should explain it in more detail.
The AXIOM variable is used at 2 different times, during make and
during execution.
===================================================================
First, lets look at the make case:
The build process needs to know 2 things. It needs to know where
the axiom sources are. It needs to know what kind of system to build.
Both of these pieces of information are in the AXIOM shell variable.
Suppose you download axiom into /tmp/axiom and
you want to build a linux system.
The AXIOM shell variable would be set to:
export AXIOM=/tmp/axiom/mnt/linux
^^^^^^^^^^
where ^^^^^
what
when the make starts it looks for where it will find the sources and
gets /tmp/axiom. It next looks for what kind of system to build and
gets linux.
Now if we look at the environment variables from your build we see:
SPAD=/tmp/axiom/mnt/
SYS=
SPD=/tmp/axiom
LSP=/tmp/axiom/lsp
GCLDIR=/tmp/axiom/lsp/gcl-2.6.5 SRC=/tmp/axiom/src
INT=/tmp/axiom/int
OBJ=/tmp/axiom/obj
MNT=/tmp/axiom/mnt
ZIPS=/tmp/axiom/zips
TMP=/tmp/axiom/obj/tmp
SPADBIN=/tmp/axiom/mnt//bin
INC=/tmp/axiom/src/include
CCLBASE=/tmp/axiom/obj//ccl/ccllisp
PART=cprogs
SUBPART=everything
NOISE=-o /tmp/axiom/obj/tmp/trace
GCLVERSION=gcl-2.6.5
TANGLE=/tmp/axiom/mnt//bin/lib/notangle
and, ignoring the irrelevant ones:
In the top level makefile we see:
SPD=$(shell pwd)
which means that SPD will be the current working directory.
It got set to:
SPD=/tmp/axiom
which is correct.
Next in the Makefile we see:
SYS=$(notdir $(AXIOM))
which got set to:
SYS=
which is NOT correct. It should have been
SYS=linux
so from this information we can figure out that your AXIOM variable
was set to:
AXIOM=/tmp/axiom
which is wrong. It should have been:
AXIOM=/tmp/axiom/mnt/linux
===================================================================
Second, the AXIOM variable is used at runtime to tell axiom where
it lives. When you build an axiom system everything that is important
and worth keeping lives under the mnt subdirectory. So to "install"
an Axiom system into /usr/local/axiom, for example, you need only
copy the mnt subdirectory thus:
mkdir /usr/local/axiom
cd /tmp/axiom
cp -pr mnt /usr/local/axiom
Now that we've done that we can remove the whole axiom directory
from /tmp because it is no longer needed.
However, in order to run Axiom we need 2 pieces of information.
First, we have to tell Axiom where it now lives and second, we
have to put the commands on our path so they can be found. So,
since we installed axiom into /usr/local/axiom we need:
export AXIOM=/usr/local/axiom/mnt/linux
export PATH=$AXIOM/bin:$PATH
The AXIOM shell variable tells axiom where to find itself.
The PATH shell variable tells linux where to find executables.
Hope this helps.
Tim