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
>
> &#8203;
>
>  &#8203;
>
> &#8203;
>

-- 
Camm Maguire                                        c...@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Reply via email to