3 ms·
Sure there is, as always: load all the code into the running SBCL, then call (SB-EXT:SAVE-LISP-AND-DIE :EXECUTABLE T :TOPLEVEL your-entry-point). The downside,
by nathell 3y ago
Sure there is, as always: load all the code into the running SBCL, then call (SB-EXT:SAVE-LISP-AND-DIE :EXECUTABLE T :TOPLEVEL your-entry-point). The downside, as always, is that this kills the Lisp process, and the resulting binary weighs tens of megabytes even for a simple hello world. I guess one of these disqualifies it as not hassle-free.
- ducktective 3y agoNo, I mean the dumped image depends on system glibc (not portable)
- jjnoakes 3y agoDepending on glibc can be portable enough if you build against the oldest glibc version that you need. Running on newer systems works.
- ducktective 3y agoHow do you get the latest toolchain and compiler but an old glibc? The tools have their own dependency on libc
- jjnoakes 3y agoYou build them. Or if the latest compilers don't build against the older glibc (which is rare in my experience, but may be possible), then you just don't support the older glibc any more. But I've never had trouble building against older glibcs.