Hey there community,

some weeks ago I upgraded from 16.04 to 16.10, but it wasn't until now that I realized I can't develop with D anymore due to an error in the linking stage of the compilation process. dmd seems to be doing its job just fine, compiling with the -c flag does not produce any warnings or errors that should not be there. But when I move on to the linking stage with the instruction that dmd uses itself:

cc app.o -o app -m64 -L/usr/lib/x86_64-linux-gnu -Xlinker --export-dynamic -Xlinker -Bstatic -lphobos2 -Xlinker -Bdynamic -lpthread -lm -lrt -ldl

I get a neverending ocean of errors that look pretty much all like these:

/usr/bin/ld: app.o: relocation R_X86_64_32 against symbol `__dmd_personality_v0' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libphobos2.a(exception_24b_55a.o): relocation R_X86_64_32 against symbol `__dmd_personality_v0' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libphobos2.a(exception_24c_3b4.o): relocation R_X86_64_32 against symbol `__dmd_personality_v0' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libphobos2.a(exception_24f_4a2.o): relocation R_X86_64_32 against symbol `__dmd_personality_v0' can not be used when making a shared object; recompile with -fPIC

Anybody has any idea why this is happening? Is the only solution to downgrade to Ubuntu 16.04 to be able to work in the meantime?

Thanks beforehand :)

Reply via email to