[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: [Axiom-developer] Axiom Availability Announcement
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: [Axiom-developer] Axiom Availability Announcement |
Date: |
04 Sep 2003 10:54:26 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings all!
Just a quick note to say that I've put together a preliminary
axiom.deb and uploaded it last night into unstable. It will likely
take a few days before being approved, but after that point the
autobuilders should let us know how portable we are! Doubtless many
changes will be needed to the package that now exists, so comments
most appreciated.
A few notes:
1) I made several changes to GCL. At a users request, GCL is now
following the linux release naming conventions -- x.y.z where y is
*even* denotes stable releases, and y odd refers to development/cvs
snapshot releases. So the latest stable GCL we're working on is
2.6.1, which can be obtained via CVS with the flag -r
Version_2_6_1. ftp.gnu.org is *still* down, so this isn't an
"official" release. Nevertheless, I've uploaded a 2.6.1 gcl deb to
the unstable Debian distribution last night to see where we stand.
So the sources/binary can also be retrieved from
incoming.debian.org.
Among the changes were modifications designed to enable axiom to be
built with gcl installed externally. This now works, at least for
me, with the following two minor patches to the axiom source
(currently in the Debian .diff:)
=============================================================================
--- axiom-0.0.0cvs.orig/lsp/Makefile.pamphlet
+++ axiom-0.0.0cvs/lsp/Makefile.pamphlet
@@ -152,17 +152,7 @@
@echo 1 building ${LSP} ${GCLVERSION}
gcldir:
- @echo 2 building ${GCLVERSION}
- @tar -zxf ${ZIPS}/${GCLVERSION}.tgz
-<<gcl-2.5.2.socket.patch>>
-<<gcl-2.5.2.fortran.patch>>
-<<gcl-2.5.2.libspad.patch>>
-<<gcl-2.5.2.toploop.patch>>
-<<gcl-2.5.2.objecttofloat.patch>>
-<<gcl-2.5.2.in-package.patch>>
-<<gcl-2.5.2.exit.patch>>
-<<gcl-2.5.2.tail-recursive.patch>>
-<<gclConfigureMake>>
+ echo "(compiler::link nil \"${OUT}/lisp\" \"\"
\"${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o
${OBJ}/${SYS}/lib/libspad.a\")" | gcl
@echo 13 finished system build on `date` | tee >gcldir
ccldir: ${LSP}/ccl/Makefile
--- axiom-0.0.0cvs.orig/src/interp/util.lisp.pamphlet
+++ axiom-0.0.0cvs/src/interp/util.lisp.pamphlet
@@ -68,7 +68,7 @@
;; perform system initializations for building a starter system
(init-memory-config)
#+:AKCL
- (let ((collectfn (concatenate 'string (string lsp) "/cmpnew/collectfn")))
+ (let ((collectfn (concatenate 'string si::*system-directory*
"../cmpnew/collectfn")))
(unless (probe-file (concatenate 'string collectfn ".o"))
(compile-file collectfn))
(load collectfn)
=============================================================================
More on (compiler::link ...) below.
2) The current axiom .deb, also available at incoming.debian.org,
basically consists of the mnt/linux and obj/linux trees copied
wholesale (with a few minor exceptions), and a shell script
wrapper called 'axiom' to set the path and execute interpsys. I
added a placeholder manpage to conform to Debian policy, but this
brought to my attention the question of (user) documentation -- is
there any?
3) Unfortunately, there are still 5 Debian platforms on which GCL can
not natively relocate objects (mips(el), alpha, ia64, hppa). On
these boxes, one must use (compiler::link...) to build images.
This can also be used on the other platforms, but save-system is
easier to use, and we hope to make it available everywhere in the
future.
So if we want axiom on these machines, we need to add a little
code following the example in the patch above at the image dumping
point, i.e. bootsys, depsys, and interpsys. The arguments to link
are:
a list of compiled lisp object file pathnames, preferably
complete.
a pathname for the output image
(optional) a string of lisp code to be run at the end of the
normal lisp initialization.
(optional) a string of non-lisp objects and libraries to be
placed on the command line
(optional) a flag indicating if the user module initialization
code should be run (defaults to 't)
Lisp modules used in this call must be compiled with the :system-p
flag to compile file set to 't. This is most easily done with
(setq compiler::*default-system-p* t) before compiling.
I can look into making some patches, but as these should be arch
specific, I wanted to consult how this could best be done in
axiom's build system. I.e. axiom has no 'configure' script.
Take care,
root <address@hidden> writes:
> *,
>
> Axiom exists as free and open source software.
>
> The first version of the Axiom sources has been uploaded to the CVS at
> http://savannah.gnu.org/projects/axiom. Congrats to all involved.
> Many thanks to the Numerical Algorithms Group, the CAISS Institute at
> City College of New York and to the people of these mailing lists.
>
> This version contains (almost) all of the algebra, the interpreter,
> and the spad compiler. This is the heart of Axiom. The graphics,
> hyperdoc, documentation, numerical code, Axiom Journal papers,
> openmath, and CATS test suite are in my source tree but are not ready
> for distribution yet. I'll announce these parts as they become
> available.
>
> A gzipped-tar file of the sources will be available soon.
> Debian apt and Redhat rpm files are under discussion.
>
> The CVS version can be downloaded by anonymous CVS:
>
> cvs -d:pserver:address@hidden:/cvsroot/savannah login
> cvs -z3 -d:pserver:address@hidden:/cvsroot/savannah co axiom
>
> NOTE: when prompted for a password for anoncvs simply press the Enter key
>
> The primary documentation is in the Makefile.dvi file.
>
> To build the system in a directory (e.g. /SPAD) you do:
>
> cd /SPAD
> export AXIOM=/SPAD/mnt/linux
> make
>
> The executable is (currently) found by doing:
>
> export PATH=/SPAD/obj/linux/bin:/SPAD/mnt/linux/bin:$PATH
> interpsys
>
> The build takes about 2 hours and 15 minutes on a 2Ghz/1Gb machine.
> You might want to do the build in an emacs shell buffer so you can
> save the console output in case of trouble.
>
> So far the build works properly on Redhat GNU/Linux 9. If you build it
> on another system please let us know. A port to Windows is in process.
>
> This is an alpha version of the system so expect (and report) bugs.
> The savannah website has a bug reporting tool.
>
> The algebra runs but has not yet been tested. This version has been
> uploaded so we can all test from the same base. When reporting bugs
> please use this version number printed at the top of your Axiom session.
> It will look something like:
> Thursday, August 28, 2003, 2:31am
>
> This version is a complete rebuild of Axiom. Many changes have been made.
>
> First, the system has been rewritten using literate programming.
> Each file is in "pamphlet" format (which is basically Latex with
> two extra tags). The reason for this is explained in the top-level
> Makefile.dvi file.
>
> Second, the system has been ported to GCL. This is the first of many
> common lisp ports where Axiom will exist.
>
> Third, the makefile tree has been rewritten. Most of the documentation
> that exists at the moment is in the various Makefile.dvi files.
>
> Fourth, the algebra is built from scratch rather than pre-existing files.
>
> The tenkan.org website and CVS is now obsolete and will be removed.
> Please use savannah for future development.
>
> Much work needs to be done. Click on the homepage link to see some of
> the future tasks.
>
> Questions, comments, and snide remarks can be sent to me at:
>
> Tim Daly
> address@hidden
> address@hidden
>
>
>
>
> _______________________________________________
> Axiom-developer mailing list
> address@hidden
> http://mail.nongnu.org/mailman/listinfo/axiom-developer
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gcl-devel] Re: [Axiom-developer] Axiom Availability Announcement,
Camm Maguire <=