[Ecls-list] We have an 'ecl' which builds on Solaris SPARC !!!

Dr. David Kirkby david.kirkby at onetel.net
Mon Aug 3 07:28:40 UTC 2009


Juanjo (one of the main ecl developers) has put a *lot* of effort into 
sorting out the Solaris issues with ecl. I'd like to publicly thank him 
for his efforts.

I believe he still has some issues on Solaris Intel using gcc 4.4.1. 
That version of gcc was only released on 22nd July 2009 (< 2 weeks ago).

I checked out the ecl CVS at "Sun Aug  2 23:02:10 BST 2009" (that's 
22:02:10 GMT) and *quickly* made a package for Sage. The CVS checkout 
built ok on one of my sun4u workstations running Solaris 10 update 7 
with gcc 4.4.0.


* I've yet to try it on 't2'.
* I've yet to try it with gcc 4.4.1
* I've yet to run the ecl test suite.

I will install gcc 4.4.1 at home and on t2 later today.

The .spkg, which I've called a '.p0' is really more than a patch, as its 
  a complete checkout of the CVS. It has things we have no use for in 
Sage (the .spkg is over twice the size of the original one). So I am NOT 
proposing this particular .spkg goes into Sage.

But it does provide an ecl.spkg file that allows the build of Sage on 
Solaris to go further than I've ever seen it go before, which must be a 
step in the right direction!!

If you want to test Sage on 't2' (or any SPARC box for that matter)

1) Get the latest sage-4.1.1.rc0 source

2) Take the ecl package from

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.4.1.p0/ecl-9.4.1.p0.spkg

3) type 'make'


Sage should build until you get the error like:

In file included from sage/ext/fast_callable.c:144:
/export/home/drkirkby/sage/sage-4.1.1.rc0/local//include/pari/paripriv.h:258: 
error: expected ';', ',' or ')' before numeric constant
/export/home/drkirkby/sage/sage-4.1.1.rc0/local//include/pari/paripriv.h:259: 
error: expected ';', ',' or ')' before numeric constant
In file included from sage/ext/fast_callable.c:144:
/export/home/drkirkby/sage/sage-4.1.1.rc0/local//include/pari/paripriv.h:428: 
error: expected identifier before numeric constant

When you get that problem, comment out lines 258, 259 and 428 of 
sage-4.1.1.rc0/local/include/pari/paripriv.h


4) Type 'make' again

This time, much more of Sage will build. This includes ecl.

I hit a problem with maxima, which I know needs ecl. I've not tried to 
debug that yet.

For whatever reason, Maximum and this ecl don't get on too well as 
friends!! The obvious thing for me to do is to run the ecl test suite. 
But this is certainly progress.

;;; Compiling (DEFUN UNMRKS ...).
;;; Compiling (DEFMACRO +LABZ ...).
;;; Compiling (DEFMACRO -LABZ ...).
;;; Compiling (DEFMACRO =LABZ ...).
;;; Compiling (DEFMACRO NLABZ ...).
;;; Compiling (DEFMACRO ULABZ ...).
;;; Compiling (DEFMACRO SUBP ...).
;;; Note: in file 
/export/home/drkirkby/sage/sage-4.1.1.rc0/spkg/build/maxima-5.16.3.p2/src/src/db.lisp, 
position 3650, and form
;;;   (FSET 'SUBP #'(LAMBDA-BLOCK SUBP # ...) ...)
;;; Replacing variable FORM by its value #<form VAR 13B22A0>
;;; Compiling (DEFUN DBNODE ...).
;;; Compiling (DEFUN NODEP ...).
;;; Compiling (DEFUN DBVARP ...).
;;; Compiling (DEFUN LAB ...).
;;; Compiling (DEFUN LPR ...).
;;; Compiling (DEFUN LABEQ ...).
;;; Compiling (DEFUN MARKND ...).
;;; Compiling (DEFUN DBV ...).
;;; Compiling (DEFUN DBA ...).
;;; Compiling (DEFUN PRLAB ...).
;;; Compiling (DEFUN ONP ...).
;;; Compiling (DEFUN OFFP ...).
;;; Compiling (DEFUN ONPU ...).
;;; Compiling (DEFUN VISIBLEP ...).
;;; Compiling (DEFUN CANCEL ...).
;;; Compiling (DEFUN QUEUE+P ...).
;;; Warning: COMPILE-FILE warned while performing
              #<ASDF:COMPILE-OP NIL 8324128> on
              #<ASDF:CL-SOURCE-FILE "db" "maxima" 6596624>.
;;; Warning: COMPILE-FILE failed while performing
              #<ASDF:COMPILE-OP NIL 8324128> on
              #<ASDF:CL-SOURCE-FILE "db" "maxima" 6596624>.
An error occurred during initialization:
erred while invoking #<ASDF:COMPILE-OP NIL 8324128> on
#<ASDF:CL-SOURCE-FILE "db" "maxima" 6596624>.
;;; Error: in file 
/export/home/drkirkby/sage/sage-4.1.1.rc0/spkg/build/maxima-5.16.3.p2/src/src/db.lisp, 
position 5563, and form
;;;   (FSET 'QUEUE+P #'(LAMBDA-BLOCK QUEUE+P # ...))
;;; In the argument 1 of a call to CAR, the type of the form (LOGIOR 
LAB-HIGH-BIT (UNLAB LAB)) is INTEGER, not LIST.make[3]: *** 
[binary-ecl/maxima] Error 1
make[3]: Leaving directory 
`/export/home/drkirkby/sage/sage-4.1.1.rc0/spkg/build/maxima-5.16.3.p2/src/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
`/export/home/drkirkby/sage/sage-4.1.1.rc0/spkg/build/maxima-5.16.3.p2/src'
***********************************************************
Failed to make Maxima.
***********************************************************

real    9m44.657s
user    7m26.250s
sys     2m0.657s
sage: An error occurred while installing maxima-5.16.3.p2



Dave






More information about the ecl-devel mailing list