[Top][All Lists]

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

[Gcl-devel] GCL 2.6.8 and 2.6.9 are released

From: Camm Maguire
Subject: [Gcl-devel] GCL 2.6.8 and 2.6.9 are released
Date: Tue, 27 Aug 2013 11:48:24 -0400

Greetings!  The GCL team is happy to announce a pair of stable releases


Please also see the homepage and release notes at


The 2.6.8 release represents several years worth of fixes and
enhancements, notably a great extension of GCL's native object file
relocation support.  

2.6.9 is released concurrently as it contains a number of structural
improvements which, while passing all our tests, may cause issues for
some people.  These improvements are chiefly a two word cons, immediate
fixnum support, word sized fixnums (64bits on 64bit machines), and a
'dynamic maxpage' implementation, which removes all compile time limits
to the heap size and auxiliary typing and marking tables.  2.6.9 will
attempt to manage the heap given the apparent constraints of the running
system, with the goal of eliminating allocation failures and handling
out of memory conditions in advance with a modicum of grace.  As this
involves a runtime startup probe of brk, which has varying degrees of
significance in different operating systems, one might still experience
overallocation of memory (notably on hurd).  In such cases, 

gcl -eval '(si::set-log-maxpage-bound x)'

will limit the heap to 2^x bytes as a workaround.

All gcl, maxima, acl2, axiom, and hol88 builds and self tests pass for
the following platforms, with noted exceptions(*) itemized below:

debian: amd64 armel armhf hurd-i386 i386 ia64 kfreebsd-amd64
kfreebsd-i386 mips mipsel powerpc s390 s390x sparc

debian-ports: alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32

macosx, windows


1) all systems use native object relocation by default now but ia64 and
ppc64, which use dlopen.  Thus there is a typical limit of 1024 files
that can be loaded, and the current acl2 build exceeds this limit.  As
this bound is runtime configurable with root access, this is not an
insurmountable obstacle.

2) kfreebsd-i386 systems do not appear to allow one to brk more than
500M of memory, and the acl2 certification process needs 1Gb.  A
solution here is as yet unknown but may be forthcoming shortly.

3) windows builds have been performed on win95.  There is an as yet
unidentified runtime error running the 2.6.9 images on win7.  More
information here will be forthcoming shortly.

Windows installers can be found at ftp://ftp.gnu.org/gnu/gcl.

4) macosx builds have been tested on snow leopard.  More recent versions
appear to have a linker bug which prevents configure from detecting the
provided profil() routine.  A workaround here should be to 

echo "#undef NO_PROFILE >>h/config.h" 

after configure and before make.

GCL has moved to the git version control system.  The 2.6.8 and 2.6.9
branches and tags are identical in cvs and git.  Henceforward,
modifications will be made to git only.  As of the present writing, git
contains a merge of experimental into master, and a port of most 2.6.x
improvements into master.  This will form the basis of a 2.7.0 release
sometime in the future.

For those unfamiliar with git:

git clone git://git.sv.gnu.org/gcl.git
cd gcl
git checkout master, or git checkout Version_2_6_9, etc.
cd gcl
./configure && make

git can of course provide much more.  I'm currently using Egg, an emacs
interface to git, with increasing success.  Merging, logging, bisecting,
branching, and uploading appear much simpler.  I recommend this tool to
would-be gcl contributors.

Feedback as always most welcome!

Take care,
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]