[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Re: GCL on Cygwin for Axiom

From: Camm Maguire
Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom
Date: 20 Nov 2002 20:30:35 -0500

Greetings!  Allow me a futile attempt at an adequate answer on behalf
of the late Dr. Schelter:

Shortly after Dr. Schelter died, Richard Stallman requested a
volunteer to continue maintenance of GCL.  There was not much response
from the lisp community.  Like many of you, I was moved by
Dr. Schelter's work, and did not want to see it rot away.  RMS
encouraged me to act on this sentiment and do what I could to keep GCL
going, in spite of my then total unfamiliarity with lisp.  (I have
extensive experience in C, though).  So I agreed.

We set the project up at, and
formed the address@hidden mailing list.  Over time, several
volunteers arose, bringing the current number of GCL developers to 12.
We attempted to quickly stabilize Dr. Schelter's last work with a
bug-fix only 2.4.x series, the latest of which is 2.4.3.  This is
known to compile itself and maxima on linux x86 boxes and pass all
tests without error.  I'm not sure about the windows status of this
release, though my understanding is that 2.4.3 produces a working
maxima under mingw as well.

We then branched CVS into the 2.5.0 series, and have pushed forward on
several fronts.  

On the portability side, we introduced relocation code calling
routines in the bfd library.  This together with extensive changes for
64 bit support, has produced a current CVS snapshot which builds a
test-passing maxima on all 11 Debian architectures (x86 ppc arm m68k
sparc mips mipsel ia64 alpha hppa s390), Windows Mingw, sparc solaris,
and (apparently) FreeBSD.  

This effort revealed several bugs in the code, the fixing of which,
coupled with a general overhaul to remove all compiler warnings, has
led to a code base which now supports full C compiler optimization on
all platforms save one, leading to a general performance increase of
some 10%.  

A major push in the direction of full ansi compliance has begun.  clcs
and pcl code has been incorporated, several missing elements
(e.g. ansi loop, destructuring bind, defpackage, etc) have been added
into the core system, numerical constants are now handled correctly to
full IEEE precision, COMMON-LISP and COMMON-LISP-USER packages are
provided, and perhaps most significantly, Paul Dietz has been
developing our own ansi-test regression suite, leading to steady
progress in fixing any failures thus revealed.  I'm told that we
actually do better than Allegro on Paul's tests :-).  These features
are optionally enabled at compile time with --enable-ansi.

Several extensions have been incorporated or are in the process of being
incorporated.  xgcl is now included in the standard tree, the author
or pargcl has refreshed his additions, and preliminary discussion of
blas/lapack support has been positive.  The ansi common lisp spec in
.texi format has also been patched for modern texinfo systems,
included in the standard tree and is now built into searchable info
files at compile time.

On some systems, native relocation is not yet available due to
unfinished support in the bfd library.  These are mips mipsel alpha
ia64 and hppa.  On such systems, we've reenabled the dlopen code
options Dr. Schelter had provided, giving a GCL which can correctly
load objects, but not save them via save-system.  To enable the
building of systems such as maxima on these platforms, which
frequently rely on dumping the image via save-system by default, we've
added some code to automate the approach Dr. Schelter had put together
for maxima 5.6.  Briefly, one can call (compiler::link '( <object file
list>) "image_name" "initialization code" "extra libs" nil) after
compilation and it 'will just work'.  Maxima CVS can optionally use
this method, as well as the Debian package of acl2, both of which have
been verified.  

On Debian systems, gcl/maxima and gcl/acl2 packages now exist which
compile and pass all tests on all platforms, with the exception of a
few remaining issues with acl2, which should be resolved shortly.
Mike tells me that the latest Mingw GCL binary does likewise on
Windows.  We hope to make axiom the third such example!

As for the future, we hope to get GCL into sufficient shape one day to
submit is for consideration as the standard common lisp front end to
the gcc family of compilers.  GCL may not be the most compliant, but
to my knowledge it carries the most number of open source apps to the
most number of platforms, and with generally quite good performance. 

As for libraries, both gmp and bfd can be linked in dynamically.  The
former is so by default on Debian systems.  This allows GCL to use the
latest lib compatible with the API of soname 3.  CVS has a relatively
new gmp included for local building and static linkage as well, under
the directory gmp3.

In sum, GCL is a work in progress.  We hope it will be useful to the
lisp community.  I must say that I share the sentiment you expressed
below.  A lot of work has gone into intelligent lisp programming, and
it appears in danger of getting lost as the human repositories of its
knowledge go on to better things.  This would be a terrible waste.  It
is the hope of bringing these gems forward into the open source world
of a new generation that chiefly motivates my work on GCL.

Take care,

Bill Page <address@hidden> writes:

> Background.
> > 
> > From: Bill Page <address@hidden>
> > Date: 2002/11/20 Wed AM 11:40:05 EST
> > To: <address@hidden>
> > CC: <address@hidden>, <address@hidden>
> > Subject: [Axiom-developer] Re: GCL on Cygwin for Axiom
> > 
> > Tim,
> > 
> > Damn. I am sorry to hear that Schelter is not still
> > available. I guess the Internet hasn't quite progressed to
> > that stage yet... And it's a reminder to me that there is
> > some urgency in this project to document Axiom and make it
> > available. <frown>
> > 
> > What I meant to write was GCL (Schelter's lisp), not GCC -
> > It was late and I was frustrated. I am more awake not.
> > 
> > Yes, GCC runs just fine on Cygwin for me but I do not have
> > a running version of GCL. In comparison to CCL, GCL is a
> > monster! Nearly everything I have tried to do in order to
> > make a running version of GCL under cygwin has failed with
> > obviously incorrect and untested code C coding. Getting
> > CCL to run was a piece of cake compared to this!
> > 
> > Does your offer to help extend to GCL? I have so many
> > problems and have tried so many things that it is a bit
> > hard to know where to start asking questions. But ...
> > 
> > 1) First things: The version 2.4.1 of GCL that is in your
> > CVS is a bit out of date. The current version is 2.4.3.
> > And even the version of GMP (GNU math package) that is
> > in 2.4.3 is quite out of date. The most recent version
> > of GMP is 4.1
> > 
> > 2) Via the web, I found that it is known that version
> > 2.4.1 of GCL is missing some critical files for the Cywin
> > build, specifically 'unexnt.c'. So after several more
> > failed attempts witn 2.4.1, I download 2.4.3 and tried to
> > compile it. unexnt.c is there, but there are a whole host
> > of other problems, many of which seem to relate to GMP.
> > So I downloaded 4.1 of GMP. That built just fine on it's
> > own and after some fiddling I finally got GCL to link
> > with it. After alot of fixing other small things, I
> > finally got to the final load step for GCL only to have
> > the the loader blow up with a segment fault and stack
> > dump ... jeez.
> > 
> > 3) There is a "pre-release" version of GCL posted at the
> > Savannah site which is supposed into compile into native
> > Window's application with the mingw32 version of GCC.
> > Perhaps that is where I will try to go next.
> > 
> > 4) But first a few more attempts. I am in the middle of
> > getting the missing unexnt.c file from the newest version
> > of GCL and using it with the older version. I will let you
> > know how far this one goes.
> > 
> > Cheers,
> > Bill Page.
> > 
> > > 
> > > From: root <address@hidden>
> > > Date: 2002/11/20 Wed AM 07:15:24 EST
> > > To: address@hidden
> > > CC: address@hidden,  address@hidden
> > > Subject: Re: GCL on Cygwin for Axiom
> > > 
> > > Bill,
> > > 
> > > Schelter's dead. But if you do get an answer let me
> > > know :-)
> > > Did you want help with GCC (Gnu Compiler Collection) or
> > > GCL (Gnu Common Lisp)?
> > > 
> > > I thought you had GCC running. How can I help?
> > > 
> > > Tim
> > > 
> > 
> > _______________________________________________
> > Axiom-developer mailing list
> > address@hidden
> >
> > 
> > 
> > From: Bill Page <address@hidden>
> > Date: 2002/11/20 Wed AM 04:03:37 EST
> > To: <address@hidden>
> > CC: <address@hidden>
> > Subject: GCL on Cygwin for Axiom
> > 
> > Dr. Schelter;
> > 
> > I am working with Tim Daly on the Axiom open source
> > project. One of the tasks that I have taken on is the
> > implementation of a Windows/Cygwin version of Axiom. At
> > the present time it is planned that Axiom will run on
> > several different Lisp platforms including GCC and the
> > recently made publicly available Codemist CCL interpreter.
> > 
> > Tim is proceeding with porting the Axiom code to the GCC
> > environment under Linux but has run into a few initial
> > complications with the use of CCL. I have been successful
> > at building CCL under the Windows/Cygwin environment but
> > am having a "devil" of a time trying to install GCC on
> > this platform. I have not been able to find any
> > combination of recent versions of both Cygwin and GCC
> > and/or choice of options for which I can successfully
> > prepare the GCC executables.
> > 
> > I have tried my best of obtain more information about the
> > available operational versions via the web, but so far I
> > have not found an answer. I would very much appreciate
> > your recommendations on how to approach this. I have
> > heard that there is a "native" Windows version of GCC
> > available which will compile under Mingw32. This version
> > would likely be compatible with our goals for Axiom.
> > Could you tell me who I might contact concerning the
> > current status of the Mingw32 version and/or a
> > Windows/Cygwin version.
> > 
> > Thanks for your time.
> > 
> > Sincerely,
> > Bill Page.
> > 
> >
> > 
> > 
> _______________________________________________
> Axiom-developer mailing list
> address@hidden

Camm Maguire                                            address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]