Hey everyone!
After a long time, I wanted to build my Vibe project on Mac using LDC, and I got weird compiling errors that made no sense and didn't know how to debug or fix. Does anyone have any tips on how I should make it work?
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
DtoOverloadedIntrinsicName
* template instance: llvm_bswap!uint
* template declaration: llvm_bswap(T)(T val) if (__traits(isIntegral, T) && (T.sizeof >= 2))
* intrinsic name: llvm.bswap.i#
* final intrinsic name: llvm.bswap.i32
DtoOverloadedIntrinsicName
* template instance: llvm_bswap!ulong
* template declaration: llvm_bswap(T)(T val) if (__traits(isIntegral, T) && (T.sizeof >= 2))
* intrinsic name: llvm.bswap.i#
* final intrinsic name: llvm.bswap.i64
import vibe.core.channel (submodules/vibe-core/source/vibe/core/channel.d)
import std.zlib (/opt/homebrew/Cellar/ldc/1.40.0/include/dlang/ldc/std/zlib.d)
import diet.html (../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/html.d)
import diet.defs (../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/defs.d)
import diet.internal.html (../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/internal/html.d)
import diet.input (../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/input.d)
import diet.parser (../../.dub/packages/diet-ng/1.8.1/diet-ng/source/diet/parser.d)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
lowered this._data.refCountedPayload()._payload[] = value =>
_d_arraysetassign(this._data.refCountedPayload()._payload[], value)
lowered slice[i..j] = value =>
_d_arraysetassign(slice[i..j], value)
lowered this._outer_[] = data =>
_d_arraysetctor(this._outer_[], data)
#0 0x000000010ec6a610 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/homebrew/Cellar/llvm/19.1.7_1/lib/libLLVM.dylib+0x4a12610)
#1 0x000000010ec6a9d0 SignalHandler(int) (/opt/homebrew/Cellar/llvm/19.1.7_1/lib/libLLVM.dylib+0x4a129d0)
#2 0x0000000185a66de4 (/usr/lib/system/libsystem_platform.dylib+0x180482de4)
#3 0x0000000100010b64 DsymbolSemanticVisitor::visit(UserAttributeDeclaration*) (/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x100008b64)
#4 0x00000001004d0f1c _D2rt6dmain212_d_run_main2UAAamPUQgZiZ6runAllMFZv (/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x1004c8f1c)
#5 0x00000001004d0b4c _d_run_main (/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x1004c8b4c)
#6 0x0000000100382610 main (/opt/homebrew/Cellar/ldc/1.40.0/bin/ldc2+0x10037a610)
#7 0x00000001856b0274
Error ldc2 failed with exit code -5.
ldc2 --version 127 ✘
LDC - the LLVM D compiler (1.40.0):
based on DMD v2.110.0 and LLVM 19.1.6
built with LDC - the LLVM D compiler (1.40.0)
Default target: arm64-apple-darwin24.3.0
Host CPU: apple-m2
http://dlang.org - http://wiki.dlang.org/LDC
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_32 - AArch64 (little endian ILP32)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
arm64_32 - ARM64 (little endian ILP32)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
hexagon - Hexagon
lanai - Lanai
loongarch32 - 32-bit LoongArch
loongarch64 - 64-bit LoongArch
mips - MIPS (32-bit big endian)
mips64 - MIPS (64-bit big endian)
mips64el - MIPS (64-bit little endian)
mipsel - MIPS (32-bit little endian)
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc32le - PowerPC 32 LE
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
riscv32 - 32-bit RISC-V
riscv64 - 64-bit RISC-V
sparc - Sparc
sparcel - Sparc LE
sparcv9 - Sparc V9
systemz - SystemZ
thumb - Thumb
thumbeb - Thumb (big endian)
ve - VE
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
xcore - XCore