Cross compile a crystal compiler for arm-linux-gnueabihf not work (crystal 1.5.0)

Following is output

 ╰─ $./bin/crystal build src/compiler/ --cross-compile --target arm-linux-gnueabihf --release -s -D without_openssl -D without_zlib
Parse:                             00:00:00.000232092 (   0.76MB)
Semantic (top level):              00:00:01.478278008 ( 139.80MB)
Semantic (new):                    00:00:00.004635307 ( 139.80MB)
Semantic (type declarations):      00:00:00.152625528 ( 155.80MB)
Semantic (abstract def check):     00:00:00.097657253 ( 155.80MB)
Semantic (restrictions augmenter): 00:00:00.033401047 ( 155.80MB)
Semantic (ivars initializers):     00:00:18.348311509 (1635.73MB)
Semantic (cvars initializers):     00:00:00.035774988 (1635.73MB)
Semantic (main):                   00:00:10.920430835 (1971.73MB)
Semantic (cleanup):                00:00:00.001943959 (1971.73MB)
Semantic (recursive struct check): 00:00:00.006487358 (1971.73MB)
Codegen (crystal):                 00:00:12.153700722 (2283.73MB)
LLVM ERROR: Cannot generate unaligned atomic store
/home/zw963/Dropbox/common/crystal/bin/crystal_builder: line 26: 91855 Aborted                 (core dumped) ./bin/crystal build src/compiler/ --cross-compile --target $arch --release -s -D without_openssl -D without_zlib

I try several times on llvm11 and llvm14, both version not work.

 ╰─ $ pacman -Q |grep llvm
lib32-llvm-libs 14.0.6-2
llvm-libs 14.0.6-2
llvm11 11.1.0-6
llvm11-libs 11.1.0-6

My laptop memory is 24G, 18G is available, i consider this is not a OOM issue.

Thank you.

This error is caused by the interpreter, which is currently not supported on arm (it is supported.on aarch64, though).
Issue: Support interpreter on arm · Issue #12299 · crystal-lang/crystal · GitHub

You can pass -Dwithout_interpreter to the build command to make it work.

It works, thank you very much!