Greetings! "Chun Tian (binghe)" <binghe.l...@gmail.com> writes:
> 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. > I think you are looking for: )lisp (si::readline-off) Thank you for the reminder -- I need to make sure the axiom package does the same at startup. Take care, > 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.l...@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.dod...@gmail.com> writes: >>>> >>>>> On Fri, Nov 4, 2022 at 10:32 AM Camm Maguire <c...@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 >>>>> >>>>> >>>>> >>>> >>> >> > -- Camm Maguire c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah