Thread overview
vibe.d
Dec 17, 2012
Henry Robbins Gouk
Dec 17, 2012
David Nadlinger
Dec 17, 2012
Henry Robbins Gouk
Dec 17, 2012
David Nadlinger
Dec 17, 2012
Henry Robbins Gouk
December 17, 2012
Has anyone tried using vibe.d with LDC? I tried modifying the bash part of the vibe launch script to use 'ldmd2 ... -run' instead of 'rdmd' but I get linker errors, presumably because LDC doesn't automatically compile dependencies. So I tried to compile the sources that came with vibe.d but since there is a main function in it I get more errors when I run the launch script since it tries to link in another main function in addition to the one in the static library.

Any ideas?
December 17, 2012
On Monday, 17 December 2012 at 12:10:48 UTC, Henry Robbins Gouk wrote:
> Has anyone tried using vibe.d with LDC? I tried modifying the bash part of the vibe launch script to use 'ldmd2 ... -run' instead of 'rdmd' but I get linker errors, presumably because LDC doesn't automatically compile dependencies. So I tried to compile the sources that came with vibe.d but since there is a main function in it I get more errors when I run the launch script since it tries to link in another main function in addition to the one in the static library.
>
> Any ideas?

Have you tried rdmd --compiler=ldmd2?

David
December 17, 2012
On Monday, 17 December 2012 at 13:41:04 UTC, David Nadlinger wrote:
> On Monday, 17 December 2012 at 12:10:48 UTC, Henry Robbins Gouk wrote:
>> Has anyone tried using vibe.d with LDC? I tried modifying the bash part of the vibe launch script to use 'ldmd2 ... -run' instead of 'rdmd' but I get linker errors, presumably because LDC doesn't automatically compile dependencies. So I tried to compile the sources that came with vibe.d but since there is a main function in it I get more errors when I run the launch script since it tries to link in another main function in addition to the one in the static library.
>>
>> Any ideas?
>
> Have you tried rdmd --compiler=ldmd2?
>
> David

Thanks for the reply :)

I just recompiled rdmd with LDC2 and I don't get that error anymore, however I got this error:

/usr/etc/vibe.d/source/deimos/openssl/ui.d(316): Error: Function type does not match previously declared function with the same mangled name: UI_method_get_writer

I took a look inside ui.d and rightly enough UI_method_get_writer is declared with two different return types. I googled around a bit and it turns out one of the prototypes should actually be for UI_method_get_opener, so I changed it.

Now when I run 'vibe' I get some undefined references to several lambda functions: http://pastebin.com/VfYKfjPs
December 17, 2012
On Monday, 17 December 2012 at 14:48:41 UTC, Henry Robbins Gouk wrote:
> /usr/etc/vibe.d/source/deimos/openssl/ui.d(316): Error: Function type does not match previously declared function with the same mangled name: UI_method_get_writer
>
> I took a look inside ui.d and rightly enough UI_method_get_writer is declared with two different return types. I googled around a bit and it turns out one of the prototypes should actually be for UI_method_get_opener, so I changed it.

Thanks for the report – ironically enough, I wrote both the code that emits the warning and that buggy piece of Deimos headers. ;) Will push a fix.

> Now when I run 'vibe' I get some undefined references to several lambda functions: http://pastebin.com/VfYKfjPs

Ah, geez – you are running the latest LDC beta resp. Git version, right? I though we had sorted out the lambda visibility issues… Could you please report a bug at https://github.com/ldc-developers/ldc/issues, even if you don't yet have a reduced test case?

David
December 17, 2012
> Ah, geez – you are running the latest LDC beta resp. Git version, right? I though we had sorted out the lambda visibility issues… Could you please report a bug at https://github.com/ldc-developers/ldc/issues, even if you don't yet have a reduced test case?

I built LDC from github about a week ago, a couple of days before the beta announcement you made recently. I'll try out that beta to see if the issue is fixed and if it isn't I'll make a bug report.