Greetings, and thanks as always for your very helpful reports! I cannot reproduce (yet) as of maxima commit 88b7d1407 with the following hopefully unessential changes:
============================================================================= modified lisp-utils/defsystem.lisp @@ -998,8 +998,10 @@ #+(or clisp cormanlisp ecl (and gcl defpackage) sbcl ccl) (defpackage "MAKE" (:use "COMMON-LISP") (:nicknames "MK")) -#-(or :sbcl :cltl2 :lispworks :ecl :scl :abcl :ccl) +#-(or :gcl :sbcl :cltl2 :lispworks :ecl :scl :abcl :ccl) (in-package :make :nicknames '("MK")) +#+gcl +(in-package :make) ;;; For CLtL2 compatible lisps... #+(and :excl :allegro-v4.0 :cltl2) modified src/generate-sys-proclaim.lisp @@ -1,4 +1,4 @@ (load "../lisp-utils/defsystem.lisp") (compiler::emit-fn t) -(mk::oos "maxima" :compile :verbose t) +(let ((mk::*files-missing-is-an-error* nil)) (mk::oos "maxima" :compile :verbose t)) (compiler::make-all-proclaims "*/*.fn" "*/*/*/*.fn") modified src/numerical/f2cl-lib.lisp @@ -31,10 +31,10 @@ is not included") ;; If you change this, you may need to change some of the macros ;; below, such as INT and AINT! -#+(or cmu scl sbcl ecl) +#+(or cmu scl sbcl ecl gcl) (deftype integer4 (&optional (low #x-80000000) (high #x7fffffff)) `(integer ,low ,high)) -#-(or cmu scl sbcl ecl) +#-(or cmu scl sbcl ecl gcl) (deftype integer4 (&optional low high) (declare (ignore low high)) 'fixnum) @@ -1358,6 +1358,7 @@ causing all pending operations to be flushed" #+ecl (scale-float (float #X10000000000001 1d0) -105) 1)) (5 (log (float (float-radix 1d0) 1d0) 10d0)))) +#+gcl(declaim (inline d1mach)) (defun r1mach (i) (ecase i @@ -1366,6 +1367,7 @@ causing all pending operations to be flushed" (3 single-float-epsilon) (4 (scale-float single-float-epsilon 1)) (5 (log (float (float-radix 1f0)) 10f0)))) +#+gcl(declaim (inline r1mach)) ;; ;; This is the CMLIB version of I1MACH, the integer machine @@ -1474,6 +1476,8 @@ causing all pending operations to be flushed" (declare (ignore frac sign)) (- exp 1))) )) +#+gcl(declaim (inline i1mach)) + ;; F2cl cannot tell if a STOP statement is an error condition or just ;; the end of the program. So, by default, we signal a continuable ============================================================================= With this after a ./configure --with-gcl=gcl27 && make, I get a working ./maxima-local giving me one issue on run_testsuite(): closeto(jacobi_am(1.5, 1.5 + %i) - (0.9340542168700783 - 0.3723960452146072 %i), 5.4673E-16) Result: 1.0990647210786426E-15 This differed from the expected result: true Will investigate this further, but FYI in case it helps. Take care, Raymond Toy <toy.raym...@gmail.com> writes: > On 4/7/25 2:12 PM, Raymond Toy wrote: > > On 4/6/25 7:11 PM, Camm Maguire wrote: > > Greetings, and thanks for your report! Should be fixed now -- please let > me know if not. > > Yep, it’s fixed now. Took me a bit of time to rebuild successfully. I always > have trouble building gcl unless I have a completely fresh checkout. > > But it’s all working now. Thanks! > > One final note, perhaps. I installed the latest version of gcl and used it to > build maxima. No issues there, once I removed all the old stale fasls. > Appears to build > just fine, but it won’t run. I get this: > > > $ ./maxima-local -g -l gcl > > Error: > Fast links are on: do (si::use-fast-links nil) for debugging > Signalled by "AN ANONYMOUS FUNCTION". > > INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on RUN: Undefined function: > > Broken at NIL. > 1 (abort) Return to debug level 5. > 2 Return to debug level 4. > 3 Return to debug level 3. > 4 Return to debug level 2. > 5 Return to debug level 1. > 6 Return to top level. >>>>>>>> > > Haven’t spent any time debugging this. I don’t know gcl’s debugger at all. > > Take care, > > Raymond Toy <toy.raym...@gmail.com> writes: > > On 4/6/25 2:16 PM, Camm Maguire wrote: > > Greetings, and thank you so much for your report! > > I've pushed a fix to git branch gnu-build-system, which will appear in > release 2.7.0 shortly. > > Fantastic! I build 2.7.0 and can confirm the macrolet issue is fixed. > > However, I do have a build issue. I had to run autoconf again because I don’t > have aclocal-1.17. Everything built fine. But then I did make install. When I > run the > installed gcl, it can’t find /usr/lib/gcl-2.7.0/unixport/saved_gcl. I ran > “configure –prefix=$HOME/dev/gcl-2.7.0”. There is saved_gcl in > $HOME/dev/gcl-2.7.0/lib/gcl-2.7.0/unixport/saved_gcl, as I would have > expected. > > Take care, > > David Scherfgen <d.scherf...@googlemail.com> writes: > > Dear GCL developers, > > Here's another bug(?) I encountered. > > The following code works correctly when entering it directly into the REPL. > But compiling it doesn't work correctly. > > Place this in a file bug.lisp: > > (macrolet ((impl (op) `(,op x y))) > (defun add (x y) (impl +))) > > This defines a function add (x y) with the body (+ x y). > Compile it: > > (compile-file "bug.lisp") > > The compiler gives some warnings that already indicate that something is > wrong: > > ; (DEFUN ADD ...) is being compiled. > ;; Warning: The variable X is not used. > ;; Warning: The variable Y is not used. > > Load the compiled file and try to call add: > > (load "bug.o") > (add 3 4) > > The following error is shown: > > Condition in ADD [or a callee]: INTERNAL-SIMPLE-TYPE-ERROR: IMPL is not of > type FUNCTION: > > The compiler failed to expand the impl macro and treated it like a function! > > Tested with GCL 2.6.14. > > Best regards > David Scherfgen > > ​ > > ​ > > ​ > -- Camm Maguire c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah