August 22, 2013 Re: How compile program with curl support? | ||||
---|---|---|---|---|
| ||||
Posted in reply to evilrat | 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 Re: How compile program with curl support? | ||||
---|---|---|---|---|
| ||||
Posted in reply to ilya-stromberg | 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 Re: How compile program with curl support? | ||||
---|---|---|---|---|
| ||||
Posted in reply to evilrat | 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 Re: How compile program with curl support? | ||||
---|---|---|---|---|
| ||||
Posted in reply to David | 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 Re: How compile program with curl support? | ||||
---|---|---|---|---|
| ||||
Posted in reply to ilya-stromberg | 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.
|
Copyright © 1999-2021 by the D Language Foundation