axiom-developer
[Top][All Lists]

[Axiom-developer] Patch for build steps and FAQ

 From: David MENTRE Subject: [Axiom-developer] Patch for build steps and FAQ Date: Wed, 16 Jul 2003 16:26:37 +0200 User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.2 (gnu/linux)

Hi Tim,

Another patch for the Build steps and the FAQ:

* for build steps, say to set AXIOM variable
* delete item number in faq item titles, the subsection number takes
care of that
* added two new items (things I had to do to make Axiom build)
* I have given the debian counterpart for needed software

Best regards,
d.

--- axiom-cvs-2003-06-25/new/new/Makefile.pamphlet      Sat Jul 12 18:43:08 2003
+++ axiom-cvs-2003-06-25-dm/new/new/Makefile.pamphlet   Wed Jul 16 16:24:34 2003
@@ -439,13 +439,14 @@
\section{Steps in the build process}
The sequence of steps necessary to build a clean Axiom is simply:
\begin{verbatim}
+  export AXIOM=(path-to-your-axiom-directory)/mnt/linux
make
\end{verbatim}

If this fails check the next section for possible problems and their
fixes.
\section{FAQ: Things that can go wrong}
-\subsection{(1) The SPAD variable is hard coded}
+\subsection{The SPAD variable is hard coded}
You can put the source code anywhere. The default SPAD variable
can be changed on the initial {\bf make} command line thus:
\begin{verbatim}
@@ -455,19 +456,19 @@
\end{verbatim}
which will override the default value.

You need to have Xlib.h to build the graphics. If you are building
on a RedHat 8 system you need to install the following RPM:
\begin{verbatim}
-
rpm -i XFree86-devel-4.2.0-72.i386.rpm
-
\end{verbatim}
A copy of this rpm (for RedHat 8) can be found in the zips directory.
Note that if you have a different version of Linux you may need a
different file.

+On Debian GNU/Linux, the package 'xlibs-dev' is needed.
+
The build of noweb creates 3 files in the mnt/\${SYS}/bin directory: notangle, noweave, and tex/noweb.sty. The build of the src/scripts directory copies the document command @@ -479,7 +480,7 @@ make start \end{verbatim} -\subsection{(4) make hangs} +\subsection{make hangs} A pamphlet file was modified and has a syntax error. The {\bf document} command has its output redirected to a file in the obj/\$\{SYS\}/tmp directory called trace.
@@ -492,7 +493,7 @@
which will override the redirection and allow the latex
output to go to the console.

-\subsection{(5) noweb needs to be rebuilt}
+\subsection{noweb needs to be rebuilt}
The first time noweb is built a dummy file called {\bf noweb}
is written into the top level directory. If this file is
removed noweb will be rebuilt. The following sequence should work:
@@ -501,7 +502,7 @@
make noweb
\end{verbatim}

-\subsection{6) lisp needs to be rebuilt}
+\subsection{lisp needs to be rebuilt}
The first time lisp is built a dummy file called {\bf gcldir}
is written into the top level directory. If this file is
removed lisp will be rebuilt. The following sequence should work:
@@ -510,7 +511,7 @@
make
\end{verbatim}

-\subsection{(7) The interpreter is badly broken}
If you look in src/interp/Makefile.pamphlet you'll see a
stanza that is marked debugsys. You can add {\bf \\$\{DEBUGSYS\}} to the
{\bf all} stanza, make the system and run debugsys. This is a copy
@@ -522,7 +523,7 @@
can play the game at this level send axiom-developer a note and we'll
inscribe your name on a log and throw it on the fire.)

-\subsection{(8) The wrong version of GCL was used}
+\subsection{The wrong version of GCL was used}
If you are building a version of Axiom on GCL there are two tested
versions. The first is GCL-2.4.1 which is an version 1 Common Lisp.
GCL-2.5 is a version 2 Common Lisp. There is a shell variable
@@ -530,6 +531,25 @@
Be sure it is set to either gcl-2.4.1, gcl-2.5 or gcl-2.5.2
as these are the only known-good versions of gcl for Axiom.

+\subsection{The \texttt{-j} option of make does not work}
+
+Looking through makefiles, you'll notice that some dependencies between
+different parts of the system (for example, between layers in algebra)
+are not reflected by dependencies in Makefile. This implies that the
+\texttt{-j} option of make will not work and should not be used when
+building Axiom. This behavior is intended: once the algebra is built,
+nearly everything can be rebuilt independently of layers or
+dependencies. We could consider allowing \texttt{-j} use in the future,
+but this is not considered at the moment.
+
+\subsection{GCL does not build on my system: libbfd.a and bfd.h are
+  missing}
+
+We are using option \texttt{--enable-statsysbfd} when building GCL (see
+lsp/Makefile) so libbfd.a and bfd.h files are necessary on your system.
+
+On Debian GNU/Linux, the needed package is 'binutils-dev'.
+
\section{General Makefile Structure}

Makefiles are responsible for four things. First, they have to set up

--