Run executable on another computer without crystal installed?

You should be able to ship dynamic libraries with your binary and use LD_LIBRARY_PATH to add their location to the paths that are looked up for finding dynamic libraries. I’m not sure if there are any specific caveats on MacOS.

However, as far as I understand the static linking problem on MacOS, the issue are actually system libraries which are only available as dynamic libraries. So you can’t link a fully dynamic binary. But you can build static libraries. And as long as you have those .a files available, you can link them into your binary. This seems to need some trickery if a dynamic variant of the same library is also available, but it’s manageable. See https://github.com/crystal-lang/crystal/issues/2003#issuecomment-170331227 and following comments for some more details on this.

So you should be able to build a binary that has all custom libraries statically linked.