gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GCL Version_2_6_13pre125


From: Chun Tian (binghe)
Subject: Re: GCL Version_2_6_13pre125
Date: Fri, 11 Nov 2022 21:44:20 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.14

Greetings,

(yes, the Solaris feature request is still there. But take your time
please.)

I've learnt a lot from your Debian patch
(axiom_20170501-6.debian.tar.xz) [1]. In particular, I need to take your
patch which builds Axiom from system-installed GCL, instead of the one
from "zips/" (although I have manually updated the GCL tarballs).  It
seems that, with your patches now there's no need to modify GCL binary
at all.  Perhaps it's those (obsoleted) patches causing the issues I met.

Let's temporarily put my current issue aside.  There is one thing I know
how to fix. Now I'm on Debian 11 amd64 with "axiom" package installed,
if I start it and type just "0" and RET, the screen shows like this:

$ axiom
                        AXIOM Computer Algebra System
                          Version: Axiom (May 2016)
               Timestamp: Monday August 24, 2020 at 04:42:40
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
   Visit http://axiom-developer.org for more information
-----------------------------------------------------------------------------

(1) ->
(1) -> 0
(1) ->
   (1)  0
                                                     Type:
NonNegativeInteger
(2) ->

Have you ever considered why there are two "(1) ->" prompts showing
together, and whenever the user types something, the input string is
also repeated?

The answer is that, recent GCL versions have supported libreadline but
Axiom assumes GCL doesn't have and in fact Axiom has its own
command-line editing facility called "clef".

I don't know how to disable GCL's readline feature after it has already
been built with "--enable-readline" (by default), but if Axiom still
builds its own GCL at beginning, the solution to the above issue is
simply putting "--disable-readline" into GCLOPTS.

Regards,

Chun Tian

[1] https://packages.debian.org/sid/axiom

On 2022/11/11 18:11, Camm Maguire wrote:
> Greetings, and thanks for your feedback.  If I recall, we had some
> solaris correspondence outstanding, no?
> 
> GCL supports two applications which are incompatible with the ANSI
> standard and require CLtL1 semantics, AXIOM and hol88.  Please make sure
> your build is not ansi, adding --disable-ansi to configure if needed.
> The key :ANSI-CL should be missing from *features*.
> 
> The debian GCL package builds four images, ANSI and non-ANSI, profiling
> and non-profiling.  These are governed by system default settings, and
> then by environment variables GCL_ANSI and GCL_PROF.
> 
> I've completed a successful build of debian's axiom package using latest
> gcl in bookworm.  There is a small patch required in that latest latex
> requires -interaction=nonstopmode to build the table of contents of the
> book, toc.tex.
> 
> There are trace and debugging facilities that can be employed in the
> axiom image to chase down your error, but I am confident a correct
> build will remove it.  Please let me know if problems persist.
> 
> Take care,
> 
> "Chun Tian (binghe)" <binghe.lisp@gmail.com> writes:
> 
>> Hi Camm,
>>
>> I try to build AXIOM using this GCL version (actually it's
>> Version_2_6_13pre126 as I found on Git). The building process didn't
>> report any error (which is already quite amazing), but when I start
>> Axiom I got this:
>>
>>                         AXIOM Computer Algebra System
>>                           Version: Axiom (May 2017)
>>               Timestamp: Friday November 11, 2022 at 10:54:16
>> -----------------------------------------------------------------------------
>>    Issue )copyright to view copyright notices.
>>    Issue )summary for a summary of useful system commands.
>>    Issue )quit to leave AXIOM and return to shell.
>>    Visit http://axiom-developer.org for more information
>> -----------------------------------------------------------------------------
>>
>>    >> System error:
>>
>>    >> System error:
>>
>> ...
>>
>>
>> Unrecoverable error: invocation history stack overflow.
>> Abort trap: 6
>>
>> This is on macOS 11 (Big Sur) where GCL 2.6.12 cannot even be built.
>> But I do can build Axiom with GCL 2.6.12 on older macOS versions (and
>> then install/use on macOS 11).
>>
>> Unfortunately I don't know how to show more detailed error messages
>> beside "System error:".  Assuming there's no need to modify any Lisp
>> code (they are working with GCL 2.6.12), do you think the above errors
>> can be fixed by setting "--ihsize" when building GCL? If so, what's the
>> suggested value to begin with?
>>
>> Regards,
>>
>> Chun Tian
>>
>> On 2022/11/8 21:58, Camm Maguire wrote:
>>> Greetings!
>>>
>>> Fresh tag, git banner reporting, equalp hashtables, fixed only bogus nan
>>> comparison I could find, fixed mod 2 bug reported in maxima, large
>>> memory model support on amd64, ansi in-package support.
>>>
>>> This is all I know right now that should go in for the tarball.  Please
>>> play with it if desired and let me know if there are any showstoppers.
>>> If anyone has a macosx or cygwin environment for a build, please let me
>>> know.  Thanks for the helpful suggestion about a vmware image -- my
>>> current understanding is that one still needs to purchase the media for
>>> the closed source system, but please correct me if I am wrong.
>>>
>>> Robert Dodier <robert.dodier@gmail.com> writes:
>>>
>>>> On Fri, Nov 4, 2022 at 10:32 AM Camm Maguire <camm@maguirefamily.org> 
>>>> wrote:
>>>>
>>>> I reviewed the bug reports and found a few more. Here is a link to see
>>>> bug reports which have been tagged with "gcl":
>>>> https://sourceforge.net/p/maxima/bugs/search/?q=labels:%22gcl%22
>>>>
>>>> Just to be clear, these are bug reports which have been explicitly
>>>> tagged "gcl". There are other bug reports which mention GCL, but,
>>>> after having reviewed them, I don't believe they are specifically
>>>> about GCL.
>>>>
>>>> I think these bug reports are all medium to low priority, although I
>>>> would certainly be glad if they get resolved. The one which seems most
>>>> pressing is:
>>>> https://sourceforge.net/p/maxima/bugs/1234/
>>>> which is about non-ASCII characters in a folder name on Windows; I
>>>> seem to recall more than one user has bumped into that. I don't know
>>>> the status of that at this point.
>>>
>>> Looking these over too.  I could really use some reproducible input
>>> (which I noticed you requested but apparently have not received) for the
>>> pathname special character report, and the SIGPIPE report (I requested
>>> on savannah with no reply).  The NaN report gives false now as you note,
>>> 2.0^1024.1 still gives the inf for testing purposes.  I think the false
>>> is in simp-expt in maxima, but haven't got further.  Most of his results
>>> had been fixed some time ago.  Found one remaining in interpreted code
>>> only which should now be closed, see transcript below.  The dribble
>>> error only omits error header output (which is sent to a different file
>>> descriptor) -- all newlines are identical addressing the original
>>> complaint.  I can get the error header in there too if this is
>>> important.
>>>
>>>>
>>>>>> The problems around GCL + Maxima stem from the capabilities (ASDF,
>>>>>> Unicode, etc) which are present in other implementations and not GCL.
>>>>>> It's not much about conditionalizations.
>>>>>
>>>>> OK, thanks for that.  I'll put this on the back burner then.  Might I
>>>>> create a git branch for this purpose?
>>>>
>>>> I think one of the anonymous ones was reported by me, not that it
>>>> matters too much. Also #47404 is a bona fide bug; all comparisons with
>>>> NaN are false, except NaN != NaN, which is true, according to IEEE
>>>> 754. The spec itself is proprietary and not available to casual
>>>> readers, to the best of my knowledge, but summaries are all over the
>>>> web, including many statements about comparisons with NaN.
>>>>
>>>> best,
>>>>
>>>
>>> =============================================================================
>>>> (setq si::*print-nans* t)
>>>
>>> T
>>>
>>>> (setq a (exp 10000.0))
>>>
>>> #<inf>
>>>
>>>> (setq b (- a) c (- a a))
>>>
>>> #<-nan>
>>>
>>>> (<= c c)
>>>
>>> NIL
>>>
>>>> (>= c c)
>>>
>>> NIL
>>>
>>>> (> c c)
>>>
>>> NIL
>>>
>>>> (< c c)
>>>
>>> NIL
>>>
>>>> (= c c)
>>>
>>> NIL
>>>
>>>> (/= c c)
>>>
>>> T
>>>
>>>> (dolist (l '(< <= = >= > /=)) (print (list (funcall l c c) (funcall 
>>>> (compile nil `(lambda (x y) (declare (long-float x y)) (,l x y))) c c))))
>>>
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x61f100 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x5badc0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x554a40 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x5cfe50 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2f2f8c0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2f412a0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (T T) 
>>> NIL
>>>
>>>> (setq c a)
>>>
>>> #<inf>
>>>
>>>> (dolist (l '(< <= = >= > /=)) (print (list (funcall l c c) (funcall 
>>>> (compile nil `(lambda (x y) (declare (long-float x y)) (,l x y))) c c))))
>>>
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2f52c90 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2f64670 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (T T) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2f76050 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (T T) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2f87a40 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (T T) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2f99420 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2faae00 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> NIL
>>>
>>>> (setq c (- a a))
>>>
>>> #<-nan>
>>>
>>>> (setq cf (float c 0.0s0))
>>>
>>> #<-nan>
>>>
>>>> (type-of cf)
>>>
>>> SHORT-FLOAT
>>>
>>>> (dolist (l '(< <= = >= > /=)) (print (list (funcall l cf cf) (funcall 
>>>> (compile nil `(lambda (x y) (declare (short-float x y)) (,l x y))) cf 
>>>> cf))))
>>>
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2fbc7f0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2fce1d0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2fdfbb0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x2ff15a0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x3002f80 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x3014960 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (T T) 
>>> NIL
>>>
>>>> (dolist (l '(< <= = >= > /=)) (print (list l (funcall l cf cf) (funcall 
>>>> (compile nil `(lambda (x y) (declare (short-float x y)) (,l x y))) cf 
>>>> cf))))
>>>
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x7e9e3d0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (< NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x7eafd60 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (<= NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x7ec1740 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (= NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x7ed3130 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (>= NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x7ee4b10 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (> NIL NIL) 
>>> Compiling /tmp/gazonk_94832_0.lsp.
>>> End of Pass 1.  
>>> End of Pass 2.  
>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>> Finished compiling /tmp/gazonk_94832_0.o.
>>> ;; Loading #p"/tmp/gazonk_94832_0.o"
>>> start address -T 0x7ef64f0 ;; Finished loading #p"/tmp/gazonk_94832_0.o"
>>>
>>> (/= T T) 
>>> NIL
>>>
>>>>
>>> =============================================================================
>>>
>>>
>>>> Robert
>>>>
>>>>
>>>>
>>>
>>
> 

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]