On Sun, Jul 1, 2012 at 10:59 AM, Gary Willoughby <span dir="ltr"><<a href="mailto:dev@kalekold.net" target="_blank">dev@kalekold.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm using the built-in curl library on Linux i'm getting linker errors. I've installed libcurl4-openssl-dev and it works fine as i can successfully compile a sample program. However when using the D lib i get these errors:<br>

<br>
[quote]<br>
:!rdmd api_test.d<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl.o): In function `_D3std3net4curl4Curl19_<u></u>sharedStaticCtor28FZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl19_<u></u>sharedStaticCtor28FZv+0xf): undefined reference to `curl_global_init'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl.o): In function `_D3std3net4curl4Curl19_<u></u>sharedStaticDtor29FZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl19_<u></u>sharedStaticDtor29FZv+0x5): undefined reference to `curl_global_cleanup'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fa_140.o): In function `_D3std3net4curl4HTTP4Impl6__<u></u>dtorMFZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4HTTP4Impl6__<u></u>dtorMFZv+0x19): undefined reference to `curl_slist_free_all'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fa_140.o): In function `_<u></u>D3std3net4curl4HTTP3dupMFZS3st<u></u>d3net4curl4HTTP':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4HTTP3dupMFZS3st<u></u>d3net4curl4HTTP+0x6b): undefined reference to `curl_slist_append'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fa_140.o): In function `_<u></u>D3std3net4curl4HTTP19clearRequ<u></u>estHeadersMFZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4HTTP19clearRequ<u></u>estHeadersMFZv+0x22): undefined reference to `curl_slist_free_all'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fa_140.o): In function `_<u></u>D3std3net4curl4HTTP16addReques<u></u>tHeaderMFAxaAxaZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4HTTP16addReques<u></u>tHeaderMFAxaAxaZv+0x5b): undefined reference to `curl_slist_append'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fb_ea.o): In function `_D3std3net4curl3FTP4Impl6__<u></u>dtorMFZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl3FTP4Impl6__<u></u>dtorMFZv+0x18): undefined reference to `curl_slist_free_all'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fb_ea.o): In function `_<u></u>D3std3net4curl3FTP3dupMFZS3std<u></u>3net4curl3FTP':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl3FTP3dupMFZS3std<u></u>3net4curl3FTP+0xa6): undefined reference to `curl_slist_append'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fb_ea.o): In function `_<u></u>D3std3net4curl3FTP13clearComma<u></u>ndsMFZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl3FTP13clearComma<u></u>ndsMFZv+0x20): undefined reference to `curl_slist_free_all'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_13fb_ea.o): In function `_<u></u>D3std3net4curl3FTP10addCommand<u></u>MFAxaZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl3FTP10addCommand<u></u>MFAxaZv+0x31): undefined reference to `curl_slist_append'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_1400_432.o): In function `_<u></u>D3std3net4curl4Curl10initializ<u></u>eMFZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl10initializ<u></u>eMFZv+0x42): undefined reference to `curl_easy_init'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_1401_149.o): In function `_<u></u>D3std3net4curl4Curl3dupMFZS3st<u></u>d3net4curl4Curl':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl3dupMFZS3st<u></u>d3net4curl4Curl+0x28): undefined reference to `curl_easy_duphandle'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_1405_37c.o): In function `_<u></u>D3std3net4curl4Curl8shutdownMF<u></u>Zv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl8shutdownMF<u></u>Zv+0x1e): undefined reference to `curl_easy_cleanup'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_1407_14c.o): In function `_<u></u>D3std3net4curl4Curl3setMFE3etc<u></u>1c4curl10CurlOptionAxaZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl3setMFE3etc<u></u>1c4curl10CurlOptionAxaZv+0x35)<u></u>: undefined reference to `curl_easy_setopt'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_1408_14c.o): In function `_<u></u>D3std3net4curl4Curl3setMFE3etc<u></u>1c4curl10CurlOptionlZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl3setMFE3etc<u></u>1c4curl10CurlOptionlZv+0x2e): undefined reference to `curl_easy_setopt'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_1409_14c.o): In function `_<u></u>D3std3net4curl4Curl3setMFE3etc<u></u>1c4curl10CurlOptionPvZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl3setMFE3etc<u></u>1c4curl10CurlOptionPvZv+0x2e): undefined reference to `curl_easy_setopt'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_140a_207.o): In function `_<u></u>D3std3net4curl4Curl5clearMFE3e<u></u>tc1c4curl10CurlOptionZv':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl5clearMFE3e<u></u>tc1c4curl10CurlOptionZv+0x26): undefined reference to `curl_easy_setopt'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_140b_2fb.o): In function `_<u></u>D3std3net4curl4Curl7performMFb<u></u>Zi':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl7performMFb<u></u>Zi+0x23): undefined reference to `curl_easy_perform'<br>
/usr/lib/gcc/x86_64-linux-gnu/<u></u>4.6/../../../x86_64-linux-gnu/<u></u>libphobos2.a(curl_1403_4a1.o): In function `_<u></u>D3std3net4curl4Curl11errorStri<u></u>ngMFiZAya':<br>
std/net/curl.d:(.text._<u></u>D3std3net4curl4Curl11errorStri<u></u>ngMFiZAya+0x11): undefined reference to `curl_easy_strerror'<br>
collect2: ld returned 1 exit status<br>
--- errorlevel 1<br>
<br>
shell returned 1<br>
[/quote]<br>
<br>
I found this error which looks like what i'm getting posted on Stackoverflow:<br>
<br>
<a href="http://stackoverflow.com/questions/10095150/std-net-curl-linker-errors-in-linux" target="_blank">http://stackoverflow.com/<u></u>questions/10095150/std-net-<u></u>curl-linker-errors-in-linux</a><br>
<br>
Is there a fix for this? It looks like the linker parameters are in the wrong order.<br>
</blockquote></div><br><div>I just ended up specifying the link command manually (see my answer on the Stack Overflow).  It's ugly but it works.  Leandro discusses a solution here: <<a href="http://d.puremagic.com/issues/show_bug.cgi?id=7044#c1">http://d.puremagic.com/issues/show_bug.cgi?id=7044#c1</a>> It hasn't been implemented yet though.</div>
<div><br></div><div>Regards,</div><div>Brad Anderson</div>