D hates to be dynamic linked

Craig Black craigblack2 at cox.net
Fri Feb 19 16:19:22 PST 2010


I am sorry to hear about your problem, and I'm sure there are others who 
share your pain.  If it is any consolation it is helpful to me to hear this, 
since the software that I intend to port to D relies heavily on plug-ins. 
It is disappointing that something as fundamental as plug-ins are such an 
issue in D.  There has been recent talks about adding support for dynamic 
linking, but it doesn't seem to be a high enough priority yet.  Hopefully it 
will get some attention soon.

-Craig

"g" <g at g.g> wrote in message news:hln0i0$dm3$1 at digitalmars.com...
> it is a real pain trying to make a plugin from d.
> I love D2 but I would even abandon it if there is solution with a compiler 
> that at least supports D1 and has a solution for dynamic linking.
> Maybe I'm stupid, but tried dmd and ldc (and tango and phobos). And I 
> don't know if I want to go GDC.
> It is so frustrating that DDL was abandoned, even I grabbed a external 
> branch an is not so outdated, but probably outdated and w/o documentation.
> (btw linux)
>
> is there a not so painful way of making plugins?. Or is there still 
> opportunity with DDL?
>
> I'm open to both phobos, tango, D1 D2
>
> We NEED a way to make plugins from d. And is a must to use freely the 
> features of D with out getting dirty (or not so dirty) or worse, limited 
> to some features
>
> /*and for your pleasure some of the pain:
> -------------------------------------------------------
> g-desktop:~/dynamic/ddl/ddl/Samples$ xfbuild 
> +cldc -L-Wl,-Map -L-Wl,testHost01.map 
> testHost01.d -I../.. -I/home/g2/ldc/import +oftest01
> .objs/host.o: In function 
> `_D3ddl11ExportClass44__T11ExportClassTC11testIface0110IHasFooBarZ11ExportClass14__T9newObjectZ9newObjectMFZC11testIface0110IHasFooBar':
> host:(.gnu.linkonce.t._D3ddl11ExportClass44__T11ExportClassTC11testIface0110IHasFooBarZ11ExportClass14__T9newObjectZ9newObjectMFZC11testIface0110IHasFooBar+0x214): 
> undefined reference to `_d_newclass'
> .objs/ddl-elf-ELFObjLoader.o:(.rodata+0x28): undefined reference to 
> `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14getLibraryTypeMFZAa'
> .objs/ddl-elf-ELFObjLoader.o:(.rodata+0x2c): undefined reference to 
> `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14canLoadLibraryMFS3ddl10FileBuffer10FileBufferZb'
> .objs/ddl-elf-ELFObjLoader.o:(.rodata+0x30): undefined reference to 
> `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader4loadMFC3ddl14LoaderRegistry14LoaderRegistryS3ddl10FileBuffer10FileBufferZC3ddl14DynamicLibrary14DynamicLibrary'
> .objs/ddl-DynamicLibrary.o:(.rodata+0x28): undefined reference to 
> `_D3ddl14DynamicLibrary14DynamicLibrary9getSymbolMFAaZPS3ddl12ExportSymbol12ExportSymbol'
> .objs/ddl-DynamicLibrary.o:(.rodata+0x2c): undefined reference to 
> `_D3ddl14DynamicLibrary14DynamicLibrary10getModulesMFZAC3ddl13DynamicModule13DynamicModule'
> .objs/ddl-DynamicLibrary.o:(.rodata+0x30): undefined reference to 
> `_D3ddl14DynamicLibrary14DynamicLibrary7getTypeMFZAa'
> .objs/ddl-DynamicLibrary.o:(.rodata+0x34): undefined reference to 
> `_D3ddl14DynamicLibrary14DynamicLibrary13getAttributesMFZHAaAa'
> .objs/ddl-DynamicLibrary.o:(.rodata+0x3c): undefined reference to 
> `_D3ddl14DynamicLibrary14DynamicLibrary18getModuleForSymbolMFAaZC3ddl13DynamicModule13DynamicModule'
> .objs/ddl-DynamicLibrary.o:(.rodata+0x40): undefined reference to 
> `_D3ddl14DynamicLibrary14DynamicLibrary11getResourceMFAaZAh'
> .objs/ddl-DynamicModule.o:(.rodata+0x28): undefined reference to 
> `_D3ddl13DynamicModule13DynamicModule7getNameMFZAa'
> .objs/ddl-DynamicModule.o:(.rodata+0x38): undefined reference to 
> `_D3ddl13DynamicModule13DynamicModule10getSymbolsMFZAS3ddl12ExportSymbol12ExportSymbol'
> .objs/ddl-DynamicModule.o:(.rodata+0x3c): undefined reference to 
> `_D3ddl13DynamicModule13DynamicModule9getSymbolMFAaZPS3ddl12ExportSymbol12ExportSymbol'
> .objs/ddl-DynamicModule.o:(.rodata+0x40): undefined reference to 
> `_D3ddl13DynamicModule13DynamicModule20getSymbolLineNumbersMFZAS3ddl16SymbolLineNumber16SymbolLineNumber'
> .objs/ddl-DynamicModule.o:(.rodata+0x44): undefined reference to 
> `_D3ddl13DynamicModule13DynamicModule13resolveFixupsMFZv'
> .objs/ddl-DynamicModule.o:(.rodata+0x48): undefined reference to 
> `_D3ddl13DynamicModule13DynamicModule10isResolvedMFZb'
> .objs/ddl-DynamicLibraryLoader.o:(.rodata+0x28): undefined reference to 
> `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14getLibraryTypeMFZAa'
> .objs/ddl-DynamicLibraryLoader.o:(.rodata+0x2c): undefined reference to 
> `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14canLoadLibraryMFS3ddl10FileBuffer10FileBufferZb'
> .objs/ddl-DynamicLibraryLoader.o:(.rodata+0x30): undefined reference to 
> `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader4loadMFC3ddl14LoaderRegistry14LoaderRegistryS3ddl10FileBuffer10FileBufferZC3ddl14DynamicLibrary14DynamicLibrary'
> collect2: ld returned 1 exit status
> -------------------------
> sorry if that was pointless*/
>
> sorry if *this* is pointless. (I'm a bit frustrateh) 




More information about the Digitalmars-d mailing list