shen-cl
shen-cl copied to clipboard
shen-clisp fails to start on OSX when using the generated binary
It fails with this error: module 'syscalls' requires package OS.
But loading the generated shen.mem file works fine.
Something I noticed is that the generated shen binary's size is 7MB, while the lisp.run binary (that the 33KB clisp one seems to call) I have in my system is just 2.9MB in size.
After investigating a bit more, I found that the "OS" package is just an alias to the "POSIX" package. Also that when an image is saved, by default the packages listed in CUSTOM:*SYSTEM-PACKAGE-LIST* are saved with the image. I checked what that list looks like on my system and "POSIX" is in there:
("REGEXP" "POSIX" "I18N" "EXPORTING" "CS-COMMON-LISP" "SYSTEM" "COMMON-LISP" "EXT" "GRAY" "CHARSET" "CLOS" "SOCKET" "GSTREAM" "SCREEN")```
I haven't figured out what the problem is yet, what I have described is what I found so far.
I've never seen this on Windows or Linux. I know on Windows, you have to make sure that 2 additional DLLs (libintl-8.dll, libreadline6.dll) are in your path for bin\clisp\shen.exe to work.
The size of bin/clisp/shen is about the same and twice the size of lisp.run on other platforms, too. I didn't think too much of it - who knows what it has to include to make a standalone executable.
Here's the CUSTOM:*SYSTEM-PACKAGE-LIST* from Ubuntu: ("READLINE" "REGEXP" "POSIX" "I18N" "EXPORTING" "CS-COMMON-LISP" "SYSTEM" "COMMON-LISP" "EXT" "GRAY" "CHARSET" "CLOS" "SOCKET" "GSTREAM" "FFI" "SCREEN").
Haven't figured this one yet, but it seems it is related to stripping of binaries:
https://lists.gnu.org/archive/html/help-guix/2016-12/msg00098.html