Embeddable Common-Lisp

ECL 9.10.2 released... Ufff

Written by jjgarcia on 2009-10

When the moment of producing a release approaches, there is always the inherent feeling that everything will go wrong. But sometimes it goes even worse.

In this case I have been waiting several days to produce a stable release of ECL, watching at our compiler farm and feeling very happy about the results (http://ecls.sf.net/logs.html). What I had not realized is that, first, our CVS repository had gotten out of sync with the GIT repository. That is bad by itself. But second, the testing farm had been running obsolete executables for several days.

It was quite embarrasing to get several emails complaining that ECL did not build in Linux, OS X and other platforms. But I think I have managed to solve most problems (see below).

The status remains as follows:

  • NetBSD, OpenBSD and Mingw/Windows do not support threads unless you use the unstable version of the Boehm-Weiser garbage collector.

  • To build any Windows port (including Mingw), you need now a multithreaded environment. This means in practice that Mingw by default is broken, unless, as I said before, you use the alpha release of the garbage collector.

  • Support for building ECL with a C++ compiler is momentarily broken.

Apart from these, all the improvements that I mention in the full CHANGELOG remain.

ECL 9.10.2:

  • Bugs fixed:

  • Fixed typo in src/c/unixint.d that affected single-threaded builds

  • The GMP library did not build in OS X Snow Leopard in 64-bits mode.

  • The package MP is needed also in single-threaded versions (for fake mp:with-lock, which is used in CLX).

  • In CLX, there were a couple of typos in the code related to locks and ECL. These typos only revealed in multithreaded builds of the CLX library.

  • In Linux there is a problem with handlers for SIGFPE being totally ignored by the system. The problem seems to be solved by avoiding the use of feenableexcept() and restricting to C99 exception tests. That is bad because we can not reliably and cheaply detect underflow exceptions.

  • Under OS X, --enable-rpath works again. It was broken for about a year due to my misunderstanding of how -install_name works and the differences between that and -rpath.