On 2013-04-07 04:15, Ellery Newcomer wrote:
trying out the spiffy new shared lib support, I get this:
dmd -unittest -fPIC -defaultlib=phobos2so -shared test1.d -oflibtest1.so
gcc test1.c `pwd`/libtest1.so -L/usr/lib64/dmd/ -L/usr/lib/dmd/ -o test1.x
/lib64/libphobos2so.so: undefined reference to `_Dmain'
collect2: error: ld returned 1 exit status
_Dmain? wat?
It's declared in druntime and therefore expected to be included:
https://github.com/D-Programming-Language/druntime/blob/master/src/rt/dmain2.d#L348
I think it needs weak linkage or similar. I don't know if it's possible
to do in D, but in C it can be done like this:
https://github.com/D-Programming-Language/druntime/blob/master/src/rt/dylib_fixes.c
Don't know if that is compiled and linked. There probably needs to be a
way to exclude the C main function as well.
--
/Jacob Carlborg