A file fix-memory-corruption-on-macOS.patch contains two patches. I just removed the second one (vsystem -> system) in favour of posix_spawn and applied it on 33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0 which allows me to build GCL on macOS 12. It requires something like 3 hours I guess, but I did it from clean system.
Summary: posix_spawn works but it requires one more patch: --- o/main.c +++ o/main.c @@ -432,7 +432,11 @@ gcl_cleanup(int gc) { if (gc) { saving_system=TRUE; + +/* on macOS it leads to ERROR "Caught fatal error [memory may be damaged]" */ +#ifndef __APPLE__ GBC(t_other); +#endif saving_system=FALSE; minimize_image(); If I recall right I made this patch as result of git bisect that points that this issue was introduced by cb842e61fd2d0ff5baf51918112003a3a1b69b45 when this line was introduced. From my point of view posix_spawn is the right move and it really fixes things. If you think to commit it, please do! -- wbr, Kirill > On 23. Dec 2023, at 01:20, Kirill A. Korinsky <kir...@korins.ky> wrote: > > ha, it was false alarm. > > I've waited for a while and it continue to working until it crashed as: > > Warning: WILD-PATHNAME-P is being redefined. > Warning: SBIT is being redefined. > Warning: GETHASH is being redefined. > GCL (GNU Common Lisp) 2.7.0 Thu Oct 26 12:00:01 PM EDT 2023 CLtL1 git: > Version_2_7_0pre9 > Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) > Binary License: GPL due to GPL'ed components: (UNEXEC) > Modifications of this banner must retain notice of a compatible license > Dedicated to the memory of W. Schelter > > Use (help) to get some basic information on how to use GCL. > Temporary directory for compiler files set to > /var/folders/rq/wqy42lq543z9rwrlj7vf1h4r0000gn/T/ > > >;; Loading "boot.lisp" > > Correctable error: The assertion (APPLY (QUOTE ARRAY-IN-BOUNDS-P) ARRAY ...) > failed. > Signalled by APPLY. > If continued: Repeat assertion.The assertion (APPLY (QUOTE ARRAY-IN-BOUNDS-P) > ARRAY ...) failed. > > Broken at LET*. Type :H for Help. > 1 (continue) Repeat assertion. > 2 Return to top level. > COMPILER>>make: *** [unixport/saved_gcl0] Error 255 > > -- > wbr, Kirill > >> On 23. Dec 2023, at 00:59, Camm Maguire <c...@maguirefamily.org >> <mailto:c...@maguirefamily.org>> wrote: >> >> Too bad, because it is working for me and could be a generic solution. >> Did it eliminate those C compiler warnings? Can you run under gdb and >> backtrace at the point asking for keyboard input? >> >> cd unixport >> make raw_pre_gcl >> gdb raw_pre_gcl >> (gdb) r ./ <foo >> >> Take care, >> >> "Kirill A. Korinsky" <kir...@korins.ky <mailto:kir...@korins.ky>> writes: >> >>> something goes wrong here. It stuck like this: >>> >>> loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpspecial.lsp >>> loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmplam.lsp >>> loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmplet.lsp >>> loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpvs.lsp >>> loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpwt.lsp >>> loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpmain.lsp >>> >>> NIL >>> >>> COMPILER> >>> (:SDEBUG >>> :SETF :PRE-GCL :DYNAMIC-EXTENT :INTDIV :64BIT :C99 :UNEXEC >>> :NATIVE-RELOC :EDITLINE :TRUNCATE_USE_C :CLX-LITTLE-ENDIAN :BSD >>> :DARWIN21.6.0 :X86_64 :IEEE-FLOATING-POINT :DARWIN :UNIX :GMP :GCL >>> :AKCL :COMMON :KCL) >>> >>> COMPILER> >>> #<"SYSTEM" package> >>> >>> SYSTEM> >>> T >>> >>> SYSTEM> >>> >>> and it expect my input via keyboard. >> >> -- >> Camm Maguire c...@maguirefamily.org >> <mailto:c...@maguirefamily.org> >> ========================================================================== >> "The earth is but one country, and mankind its citizens." -- Baha'u'llah >
signature.asc
Description: Message signed with OpenPGP