August 22, 2013
On Thursday, 22 August 2013 at 13:20:44 UTC, evilrat wrote:
> why do u link phobos when compiler do this for you?

For some reason the order of linked libs matters especially with curl.
August 22, 2013
Am 22.08.2013 15:27, schrieb ilya-stromberg:
> On Thursday, 22 August 2013 at 13:20:44 UTC, evilrat wrote:
>> why do u link phobos when compiler do this for you?
> 
> Because without it doesn't work:
> 
> $ dmd -L-lcurl main.d
> /usr/lib/x86_64-linux-gnu/libphobos2.a(curl.o): In function
> `_D3std3net4curl4Curl19_sharedStaticCtor34FZv':
> std/net/curl.d:(.text._D3std3net4curl4Curl19_sharedStaticCtor34FZv+0xf):
> undefined reference to `curl_global_init'
> /usr/lib/x86_64-linux-gnu/libphobos2.a(curl.o): In function
> `_D3std3net4curl4Curl19_sharedStaticDtor35FZv':
> std/net/curl.d:(.text._D3std3net4curl4Curl19_sharedStaticDtor35FZv+0x5):
> undefined reference to `curl_global_cleanup'
> 
> Have you got any ideas why?!

Can't reproduce this:

─[dav1d@archbox][/tmp]╼ cat c.d
import std.net.curl;

void main() {}
─[dav1d@archbox][/tmp]╼ dmd c.d
/usr/lib/libphobos2.a(curl.o): In function
`_D3std3net4curl4Curl19_sharedStaticCtor34FZv':
(.text._D3std3net4curl4Curl19_sharedStaticCtor34FZv+0xf): undefined
reference to `curl_global_init'
/usr/lib/libphobos2.a(curl.o): In function
`_D3std3net4curl4Curl19_sharedStaticDtor35FZv':
(.text._D3std3net4curl4Curl19_sharedStaticDtor35FZv+0x5): undefined
reference to `curl_global_cleanup'
collect2: Fehler: ld gab 1 als Ende-Status zurück
--- errorlevel 1
─[dav1d@archbox][/tmp]╼ dmd c.d -L-lcurl ─[dav1d@archbox][/tmp]╼

So I only get these errors when *not* linking against curl.
August 22, 2013
On 22/08/13 15:20, evilrat wrote:
> On Thursday, 22 August 2013 at 13:15:39 UTC, ilya-stromberg wrote:
>> On Thursday, 22 August 2013 at 10:24:49 UTC, David wrote:
>>>> What should I do to get curl support?
>>>> OS is Linux Ubuntu 12.10.
>>>
>>> Install libcurl-dev http://packages.ubuntu.com/de/lucid/libcurl-dev
>>>
>>> Add "-L-lcurl" to your commandline
>>
>> Thanks for help. Correct answer was here: http://forum.dlang.org/post/mailman.1089.1350735488.5162.digitalmars-d@puremagic.com
>>
>> $ dmd -L-lphobos2 -L-lcurl main.d
>>
>> As I can see by google, this is common issue. How can we document the compilation proses?
> 
> why do u link phobos when compiler do this for you?

On static linking, the library order cares. "libphobos2" depends on "libcurl", so "libphobos2" should be passed to the linker before than "libcurl".

> 
> btw in fact i've seen somewhere on site/wiki/forums instructions "how to build libcurl for D" or something.
> 

-- 
Jordi Sayol
August 24, 2013
On Thursday, 22 August 2013 at 16:28:32 UTC, David wrote:
> Can't reproduce this:
>
> ─[dav1d@archbox][/tmp]╼ cat c.d
> import std.net.curl;
>
> void main() {}
> ─[dav1d@archbox][/tmp]╼ dmd c.d -L-lcurl
> ─[dav1d@archbox][/tmp]╼
>
> So I only get these errors when *not* linking against curl.

It looks like regression. Which OS and compiler version do you use?
I have Linux Ubuntu 12.10 and DMD 2.063.2.
August 24, 2013
Am 24.08.2013 09:56, schrieb ilya-stromberg:
> On Thursday, 22 August 2013 at 16:28:32 UTC, David wrote:
>> Can't reproduce this:
>>
>> ─[dav1d@archbox][/tmp]╼ cat c.d
>> import std.net.curl;
>>
>> void main() {}
>> ─[dav1d@archbox][/tmp]╼ dmd c.d -L-lcurl
>> ─[dav1d@archbox][/tmp]╼
>>
>> So I only get these errors when *not* linking against curl.
> 
> It looks like regression. Which OS and compiler version do you use? I have Linux Ubuntu 12.10 and DMD 2.063.2.

Archlinux 64 Bit 2.063.2, and no, this is not a regression, this worked for every DMD release so far.
1 2
Next ›   Last »