From: Dr. David Kirkby <david.kirkby@on...>  20090803 07:29:10

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 sage4.1.1.rc0 source 2) Take the ecl package from http://sage.math.washington.edu/home/kirkby/Solarisfixes/ecl9.4.1.p0/ecl9.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/sage4.1.1.rc0/local//include/pari/paripriv.h:258: error: expected ';', ',' or ')' before numeric constant /export/home/drkirkby/sage/sage4.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/sage4.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 sage4.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/sage4.1.1.rc0/spkg/build/maxima5.16.3.p2/src/src/db.lisp, position 3650, and form ;;; (FSET 'SUBP #'(LAMBDABLOCK 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: COMPILEFILE warned while performing #<ASDF:COMPILEOP NIL 8324128> on #<ASDF:CLSOURCEFILE "db" "maxima" 6596624>. ;;; Warning: COMPILEFILE failed while performing #<ASDF:COMPILEOP NIL 8324128> on #<ASDF:CLSOURCEFILE "db" "maxima" 6596624>. An error occurred during initialization: erred while invoking #<ASDF:COMPILEOP NIL 8324128> on #<ASDF:CLSOURCEFILE "db" "maxima" 6596624>. ;;; Error: in file /export/home/drkirkby/sage/sage4.1.1.rc0/spkg/build/maxima5.16.3.p2/src/src/db.lisp, position 5563, and form ;;; (FSET 'QUEUE+P #'(LAMBDABLOCK QUEUE+P # ...)) ;;; In the argument 1 of a call to CAR, the type of the form (LOGIOR LABHIGHBIT (UNLAB LAB)) is INTEGER, not LIST.make[3]: *** [binaryecl/maxima] Error 1 make[3]: Leaving directory `/export/home/drkirkby/sage/sage4.1.1.rc0/spkg/build/maxima5.16.3.p2/src/src' make[2]: *** [allrecursive] Error 1 make[2]: Leaving directory `/export/home/drkirkby/sage/sage4.1.1.rc0/spkg/build/maxima5.16.3.p2/src' *********************************************************** Failed to make Maxima. *********************************************************** real 9m44.657s user 7m26.250s sys 2m0.657s sage: An error occurred while installing maxima5.16.3.p2 Dave 
From: Juan Jose GarciaRipoll <juanjose.garciaripoll@go...>  20090803 07:56:19

On Mon, Aug 3, 2009 at 9:28 AM, Dr. David Kirkby<david.kirkby@...> wrote: > 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). Seems 4.4.1 is doing fine after I reverted some changes from MPIR back into GMP. The tests are also running fine and should pop up in http://ecls.sourceforge.net/logs.html in a couple of hours. > 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. As I told David, there will be a new release, probably before the beginning of next week. You can use that in the spkg instead of the unstable sources. I would like, though, that some developers of Sage keep a copy of the unstable tree so that I can quickly answer back with fixes to the problems you may find, giving me back your feedback on those builds. > 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. > [...] > /export/home/drkirkby/sage/sage4.1.1.rc0/spkg/build/maxima5.16.3.p2/src/src/db.lisp, > position 5563, and form > ;;; (FSET 'QUEUE+P #'(LAMBDABLOCK QUEUE+P # ...)) > ;;; In the argument 1 of a call to CAR, the type of the form (LOGIOR > LABHIGHBIT (UNLAB LAB)) is INTEGER, not LIST. Ooops, ECL now implements a better type propagator, which has detected an error in the following function (defun queue+p (nd lab) (cond ((null (setq *db* (+labs nd))) [...] (t (iorm *db* (logior +labhighbit+ (unlab lab)))))) Based on this definition (defmacro iorm (cell n) `(rplaca ,cell (logior (car ,cell) (car ,n)))) the second argument to (IORM *db* ...) should be a cons, not an integer. Juanjo  Instituto de Física Fundamental, CSIC c/ Serrano, 113b, Madrid 28006 (Spain) http://juanjose.garciaripoll.googlepages.com 