Thread overview
GtkD : Compilation Error
Jul 30, 2013
Chris
Jul 30, 2013
John Colvin
Aug 05, 2013
Kai Nacke
July 30, 2013
Why do I get a list of errors like this one:

/usr/local/lib/libgtkdsv-2.a(SourceCompletionProposalIF.o): In function `_D3std5array17__T8AppenderTAyaZ8Appender12__T3putTAyaZ3putMFAyaZv':
srcsv/gsv/SourceCompletionProposalIF.d:(.text._D3std5array17__T8AppenderTAyaZ8Appender12__T3putTAyaZ3putMFAyaZv+0x5a): undefined reference to `_D3std5array7__arrayZ'

Libs are linked. Import paths are passed. DMD works fine. It's only ldc2 that produces this. Would I have to recompile GtkD with LDC?
July 30, 2013
On Tuesday, 30 July 2013 at 10:51:42 UTC, Chris wrote:
> Why do I get a list of errors like this one:
>
> /usr/local/lib/libgtkdsv-2.a(SourceCompletionProposalIF.o): In function `_D3std5array17__T8AppenderTAyaZ8Appender12__T3putTAyaZ3putMFAyaZv':
> srcsv/gsv/SourceCompletionProposalIF.d:(.text._D3std5array17__T8AppenderTAyaZ8Appender12__T3putTAyaZ3putMFAyaZv+0x5a): undefined reference to `_D3std5array7__arrayZ'
>
> Libs are linked. Import paths are passed. DMD works fine. It's only ldc2 that produces this. Would I have to recompile GtkD with LDC?

Generally speaking you need to compile everything with the same compiler.

Hopefully in the future interoperability will become more feasible, but until the language is completely stable it will be hard to do.
August 05, 2013
On Tuesday, 30 July 2013 at 10:51:42 UTC, Chris wrote:
> Why do I get a list of errors like this one:
>
> /usr/local/lib/libgtkdsv-2.a(SourceCompletionProposalIF.o): In function `_D3std5array17__T8AppenderTAyaZ8Appender12__T3putTAyaZ3putMFAyaZv':
> srcsv/gsv/SourceCompletionProposalIF.d:(.text._D3std5array17__T8AppenderTAyaZ8Appender12__T3putTAyaZ3putMFAyaZv+0x5a): undefined reference to `_D3std5array7__arrayZ'
>
> Libs are linked. Import paths are passed. DMD works fine. It's only ldc2 that produces this. Would I have to recompile GtkD with LDC?

Yes. In druntime there are some important differences between DMD and LDC, e.g. the vararg interface or memory stuff. Unfortunately you can't expect interoperability at the binary level right now.

Kai