On Mon, 13 Jun 2011, Jens Mueller wrote: > There have been some posts regarding support for shared libraries. On > top of my head there we're at least 5 things that need to be done to get > it working. > $ dmd -m64 -L-shared shared.d -oflibshared.so > /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: > relocation R_X86_64_32S against `__libc_csu_fini' can not be used when making > a shared object; recompile with -fPIC > /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: could not read > symbols: Bad value > collect2: ld returned 1 exit status > --- errorlevel 1 > > I do not fully understand the error. But I believe there is something > wrong with dmd generating PIC. > > Jens
When building a shared library, you must build with -fPIC. That's likely not sufficient to get it actually fully working with dmd. so: dmd -m64 -fPIC -L-shared shared.d -oflibshared.so That said, combining not-well-tested .so support with 64 bit is a good way to discover new bugs, so go for it! :) Later, Brad
