Oh yeah, D2 put everything (IIRC) into Thread Local Storage, unless you tell it not to.
C puts most everything into global storage.
This causes a mismatch. If you're working on translating the curses headers into D, I'm attempting the same.
I'd love some help, as I have never really worked with C/C++
Looks like some definition is missing a shared/__gshared./usr/bin/ld: stdscr: TLS definition in obj/Debug/dl_c_curses_curses.o section .tbss mismatches non-TLS reference in /lib64/libncurses.so.5