Estoy tratando de usar std.net.curl en Ubuntu Linux de 32 bits (11.10 Ocelot) usando DMD 2.058.std.net.curl errores del enlazador en Linux
Cuando construyo (dmd source.d
) me sale:
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../../lib/libphobos2.a(curl.o): In function `_D3std3net4curl4Curl19_sharedStaticCtor30FZv':
std/net/curl.d:(.text._D3std3net4curl4Curl19_sharedStaticCtor30FZv+0x6): undefined reference to `curl_global_init'
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../../lib/libphobos2.a(curl.o): In function `_D3std3net4curl4Curl19_sharedStaticDtor31FZv':
std/net/curl.d:(.text._D3std3net4curl4Curl19_sharedStaticDtor31FZv+0x4): undefined reference to `curl_global_cleanup'
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../../lib/libphobos2.a(curl_12fd_140.o): In function `_D3std3net4curl4HTTP4Impl6__dtorMFZv':
std/net/curl.d:(.text._D3std3net4curl4HTTP4Impl6__dtorMFZv+0x12): undefined reference to `curl_slist_free_all'
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../../lib/libphobos2.a(curl_12fd_140.o): In function `_D3std3net4curl4HTTP3dupMFZS3std3net4curl4HTTP':
std/net/curl.d:(.text._D3std3net4curl4HTTP3dupMFZS3std3net4curl4HTTP+0x53): undefined reference to `curl_slist_append'
[snip]
he añadido a mi -L-lcurl
línea de comandos (comando completo: dmd source.d -L-lcurl
) pero me da exactamente el mismo resultado. Tengo libcurl4-openssl instalado. Puedo construir un programa simple C curl en esta computadora sin problema (gcc simple.c -lcurl
). No estoy seguro de dónde mirar desde aquí para resolver esto.
Actualización: Aquí es cómo se invoca el enlazador de acuerdo con dmd -v
:
gcc source.o -o source -m32 -lcurl -Xlinker -L/usr/lib -Xlinker -L/usr/lib64 -Xlinker --no-warn-search-mismatch -Xlinker --export-dynamic -lphobos2 -lpthread -lm -lrt
Intenta ejecutar con '-v' (' dmd -v source.d -L-lcurl') para ver cómo se invoca el enlazador. – kennytm
@KennyTM Publicación actualizada con información. – eco