On MacOS you also need to pass -bundle -bundle_loader $ERL_ROOT/erts-*/bin/beam.smp to gcc/clang in order for it to work.
-bundle -bundle_loader $ERL_ROOT/erts-*/bin/beam.smp