Thank you!
On Wed, Jul 24, 2019 at 01:41:39PM +0000, Joerg-Cyril.Hoehle@t-systems.com wrote:
Stuart uses:
GNU CLISP 2.49 (2010-07-07) (built on build.voidlinux.eu [148.251.136.24])
I would recommend that you use clisp from 2017-2019, even though there has been no official release yet (it's still in the release candidate phase). There have been quite some robustness and portability enhancements in recent years.
However, I do seem to have libsigsegv. Here's the full output of 'clisp --version': cc -mtune=generic -O2 -O [...] -DNO_SINGLEMAP -DNO_TRIVIALMAP -lsigsegv
SAFETY=0 TYPECODES WIDE_HARD SPVW_PAGES SPVW_MIXED libsigsegv 2.10 libffcall 1.11
Without one of either SINGLEMAP_MEMORY or TRIVIALMAP_MEMORY you get no generational GC. Libsigsegv may still be used for stack overflow detection, I'm not sure.
It appears to me that your build of clisp in voidlinux was done using overly pessimistic / conservative settings. With GC, you might be able to increase clisp's performance by 50%. You should recompile.
Done!
The latest version I could find, cloned from mercurial[0] just minutes ago, does not crash. Well it did once, but not with a segfault, when I encountered an error. I'll keep monitoring it, but it's much better than before.
The output from <newly-compiled executable> --version is
--- cut ---
GNU CLISP 2.49.93+ (2018-02-18) (built 3772968340) (memory 3772968415) Software: GNU C 9.1.0 gcc -g -O2 -no-integrated-cpp -W -Wswitch -Wcomment -Wpointer-arith -Wreturn-type -Wmissing-declarations -Wimplicit -Wno-sign-compare -Wno-format-nonliteral -Wno-shift-negative-value -O -fwrapv -fno-strict-aliasing -DNO_ASM -DENABLE_UNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES libgnu.a -lreadline -lncurses -ldl -lffcall -lsigsegv SAFETY=0 HEAPCODES ONE_FREE_BIT_HEAPCODES WIDE_HARD GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY libsigsegv 2.12 libreadline 8.0 libffcall 2.1 Features: (READLINE REGEXP WILDCARD SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP LISP=CL INTERPRETER LOGICAL-PATHNAMES SOCKETS GENERIC-STREAMS SCREEN FFI GETTEXT UNICODE BASE-CHAR=CHARACTER WORD-SIZE=64 PC386 UNIX) C Modules: (clisp i18n syscalls regexp readline)
--- cut ---
I didn't pass any special flags or anything, simply installed the dependencies they recommend in step 2 of [1] and proceeded as instructed there.
---
References:
[0] hg clone http://hg.code.sf.net/p/clisp/clisp <local directory name> [1] https://sourceforge.net/p/clisp/clisp/ci/tip/tree/unix/INSTALL