Having trouble compiling D on Ubuntu 16.10

Dechcaudron via Digitalmars-d digitalmars-d at puremagic.com
Sun Oct 30 04:25:30 PDT 2016


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 :)


More information about the Digitalmars-d mailing list