On 2017-10-23 14:17, Laeeth Isharc wrote:

Can you elaborate on how the TLS implementation needs to be changed?

# echo 'void main() {}' > main.d && dmd -c main.d && gcc main.o -o main -m64 -static -L/root/.dvm/compilers/dmd-2.076.1/linux/bin/../lib64 -Xlinker -Bstatic -lphobos2 -lpthread -lm -lrt -ldl

/root/.dvm/compilers/dmd-2.076.1/linux/bin/../lib64/libphobos2.a(sections_elf_shared_782_420.o): In function `_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv': src/rt/sections_elf_shared.d:(.text._D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv[_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv]+0x38): undefined reference to `__tls_get_addr'
collect2: error: ld returned 1 exit status

I need to manually invoke GCC to link because DMD will pass "-Xlinker --export-dynamic -Xlinker -Bdynamic" and I need to add "-static".

If someone wanted to work on rabbit bindings/wrapper, I might be open to sponsoring that.  I'm not in love with Rabbit (one node uses more than 40% of memory so the node goes down, taking the cluster with it. really?), but we use it currently.

I made a start on bindings for librabbitmq here:
https://github.com/kaleidicassociates/rabbitmq-d

Is that compatible with vibe.d?

--
/Jacob Carlborg

Reply via email to