Re:fe: A tiny, embeddable language implemented in ANSI C
by bo-tato on Thursday June 08, 2023 @07:09PM
(#36250570)
easiest solution I found was building SBCL targetting an old glibc using zig as the c compiler:
CC="zig cc -target x86_64-linux-gnu.2.28" LD="zig cc -target x86_64-linux-gnu.2.28"
zig bundles in all the glibc headers, so I think it should build on musl libc-based distro
for more complicated programs with native dependencies there is (https://github.com/Shinmera/deploy) or guix has a lot of CL libraries already and it's fairly easy to write packages for others, you can specify all dependencies with guix and use guix pack to get a .tar with all dependencies you can unpack and run on any other linux box
Re:fe: A tiny, embeddable language implemented in ANSI C
by schemescape on Thursday June 08, 2023 @08:59PM
(#36251722)
I was wondering if compiling via Zig would work. Also, thanks for the Guix tip—I will give that a try!
I think native dependencies would require something like this (which I believe uses Deploy to solve part of the problem): https://www.timmons.dev/posts/static-executables-with-sbcl.h...
For SBCL, the two main approaches I’ve seen are: a) use a patched version of SBCL that is statically linked or b) build against an old glibc and hope for the best (which sadly doesn’t work on my musl libc-based distribution). I guess the third approach is distribute source and compile on the device—this is what I’m actually doing, but it seems a little silly to recompile every time, even if it’s the same architecture.
And keep in mind this is just my wishlist of functionality. It’s not necessary and I don’t expect it, but it would be really convenient.