www.digitalmars.com         C & C++   DMDScript  

c++ - Building libcurl with DMC

reply "Charles Sanders" <sanders-consulting comcast.net> writes:
Hey all,

First time to post, Im trying to build libcurl and im feeling stupid, I
can't seem to get it to work :/.  It compiles fine, and it looks like the
lib.exe is run correctly, it exports the library as expected,  but when I
try to link to a test file I get the errors listed beow.  Attached is the
source and the Makefile im using.  Not sure what I'm doing wrong here ?? It
seems to all be in easy.c (easy.obj)  -- but all those symbols should be
defined!

Source is to big, you can find it at www.atari-soldiers.com/dmc_build.zip

P.S.  I created the winmm.lib and ws2_32.lib and wsock32.lib with implib.exe

Thanks for any help,
Charles


C:\curl-7.10.5\lib>dmc -I../include test.c libcurl.lib ws2_32.lib winmm.lib
link test,,,libcurl+ws2_32+winmm+user32+kernel32/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_cookie_init
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_close
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_perform
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_freednsinfo
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_global_host_cache_get
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_setopt
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_open
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_SSL_cleanup
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_global_host_cache_dtor
libcurl.lib(easy)
 Error 42: Symbol Undefined _Curl_SSL_init
libcurl.lib(easy)
 Error 42: Symbol Undefined _WSACleanup 0
libcurl.lib(easy)
 Error 42: Symbol Undefined _WSAStartup 8

--- errorlevel 12



begin 666 Makefile.dmc
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(PHC"B,C($UA:V5F:6QE(&9O<B!B=6EL9&EN9R!L
M:6)C=7)L+F$ =VET:"!$34,*" I#0R ](&1M8PI,24( /2!#.B]D;2]B:6XO
M;&EB+F5X92 *3$E.2TQ)0E, (#T =W,R7S,R+FQI8B!W:6YM;2YL:6(*"B-/
M4$5.4U-,7U!!5$  /2 N+B\N+B]O<&5N<W-L+3 N.2XW80HC6DQ)0E]0051(
M(#T +BXO+BXO>FQI8BTQ+C$N- H*(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,*(R, 3F]T:&EN9R!M
M;W)E('1O(&1O(&)E;&]W('1H:7, ;&EN92$*"DE.0TQ51$53(#T +4DN("U)
M+BX +4DN+B]I;F-L=61E("U)+BXO<W)C"D-&3$%'4R ]("U$0U523%]$25-!
M0DQ%7U1%3$Y%5" M1$-54DQ?1$E304),15],1$%0("U$0U523%]$25-!0DQ%
M7T9)3$4 +41(059%7TQ/0T%,5$E-15]2("U$5TE.,S(*0T]-4$E,12 ]("0H
M0T,I("UC("0H24Y#3%5$15,I("0H0T9,04=3*0H*;&EB8W5R;%]A7TQ)0E)!
M4DE%4R ](&QI8F-U<FPN80H*;&EB8W5R;%]A7U-/55)#15, /2!A<G!A7W1E
M;&YE="YH(&9I;&4N8R!G971P87-S+F  ;F5T<F,N:"!T:6UE=F%L+F, 8F%S
M938T+F, 7 H)9FEL92YH(&AO<W1I<"YC('!R;V=R97-S+F, =&EM979A;"YH
M(&)A<V4V-"YH(&9O<FUD871A+F, :&]S=&EP+F  <')O9W)E<W,N: E<" EC
M;V]K:64N8R!F;W)M9&%T82YH(&AT=' N8R!S96YD9BYC(&-O;VMI92YH(&9T
M<"YC(&AT=' N:"!S96YD9BYH('5R;"YC(&1I8W0N8PE<" EF=' N:"!I9C)I
M<"YC('-P965D8VAE8VLN8R!U<FPN:"!D:6-T+F  9V5T9&%T92YC(&EF,FEP
M+F  <W!E961C:&5C:RYH"0E<" EU<FQD871A+F  =')A;G-F97(N8R!G971D
M871E+F  ;&1A<"YC('-S;'5S92YC('9E<G-I;VXN8R!T<F%N<V9E<BYH(&=E
M=&5N=BYC"5P*"6QD87 N:"!S<VQU<V4N:"!E<V-A<&4N8R!M<')I;G1F+F, 
M=&5L;F5T+F, 97-C87!E+F  9V5T<&%S<RYC(&YE=')C+F,)7 H)=&5L;F5T
M+F  9V5T:6YF;RYC('-T<F5Q=6%L+F, <W1R97%U86PN:"!E87-Y+F, <V5C
M=7)I='DN: D)7 H)<V5C=7)I='DN8R!K<F(T+F  :W)B-"YC(&UE;61E8G5G
M+F  ;65M9&5B=6<N8R!I;F5T7VYT;V%?<BYH(&AT='!?8VAU;FMS+F  :'1T
M<%]C:'5N:W,N8R!<" ES=')T;VLN8R!C;VYN96-T+F, :&%S:"YC(&QL:7-T
M+F, ;75L=&DN8R!S:&%R92YC('-H87)E+FA<" EC;VYT96YT7V5N8V]D:6YG
M+F  8V]N=&5N=%]E;F-O9&EN9RYC" IL:6)C=7)L7V%?3T)*14-44R ]("!F
M:6QE+F]B:B!T:6UE=F%L+F]B:B!B87-E-C0N;V)J(&AO<W1I<"YO8FH <')O
M9W)E<W,N;V)J(%P*"69O<FUD871A+F]B:B!C;V]K:64N;V)J(&AT=' N;V)J
M('-E;F1F+F]B:B!F=' N;V)J('5R;"YO8FH 9&EC="YO8FH :68R:7 N;V)J
M(%P*"7-P965D8VAE8VLN;V)J(&=E=&1A=&4N;V)J('1R86YS9F5R+F]B:B!L
M9&%P+F]B:B!S<VQU<V4N;V)J('9E<G-I;VXN;V)J(%P*"6=E=&5N=BYO8FH 
M97-C87!E+F]B:B!M<')I;G1F+F]B:B!T96QN970N;V)J(&=E='!A<W,N;V)J
M(&YE=')C+F]B:B!G971I;F9O+F]B:B!<" ES=')E<75A;"YO8FH 96%S>2YO
M8FH <V5C=7)I='DN;V)J(&MR8C0N;V)J(&UE;61E8G5G+F]B:B!H='1P7V-H
M=6YK<RYO8FH 7 H)<W1R=&]K+F]B:B!C;VYN96-T+F]B:B!H87-H+F]B:B!L
M;&ES="YO8FH ;75L=&DN;V)J('-H87)E+F]B:B!<" EC;VYT96YT7V5N8V]D
M:6YG+F]B: H*3$E"4D%22453(#T ("0H;&EB8W5R;%]A7TQ)0E)!4DE%4RD*
M4T]54D-%4R ]("0H;&EB8W5R;%]A7U-/55)#15,I"D]"2D5#5%, /2 D*&QI
M8F-U<FQ?85]/0DI%0U13*0H*"F%L;#H ;&EB8W5R;"YA( H*;&EB8W5R;"YA
M.B D*&QI8F-U<FQ?85]33U520T53*2 *"20H0T]-4$E,12D )"AL:6)C=7)L
M7V%?4T]54D-%4RD*"20H3$E"*2 M8R!L:6)C=7)L("0H;&EB8W5R;%]A7T]"
42D5#5%,I"20H3$E.2TQ)0E,I" H`
`
end
Aug 09 2003
parent reply "Walter" <walter digitalmars.com> writes:
The first thing I'd do is generate a .lst file from your library and see if
the symbols are really in there or not.

"Charles Sanders" <sanders-consulting comcast.net> wrote in message
news:bh3rc3$qp$1 digitaldaemon.com...
 Hey all,

 First time to post, Im trying to build libcurl and im feeling stupid, I
 can't seem to get it to work :/.  It compiles fine, and it looks like the
 lib.exe is run correctly, it exports the library as expected,  but when I
 try to link to a test file I get the errors listed beow.  Attached is the
 source and the Makefile im using.  Not sure what I'm doing wrong here ??
It
 seems to all be in easy.c (easy.obj)  -- but all those symbols should be
 defined!

 Source is to big, you can find it at www.atari-soldiers.com/dmc_build.zip

 P.S.  I created the winmm.lib and ws2_32.lib and wsock32.lib with
implib.exe
 Thanks for any help,
 Charles


 C:\curl-7.10.5\lib>dmc -I../include test.c libcurl.lib ws2_32.lib
winmm.lib
 link test,,,libcurl+ws2_32+winmm+user32+kernel32/noi;
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_cookie_init
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_close
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_perform
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_freednsinfo
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_global_host_cache_get
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_setopt
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_open
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_SSL_cleanup
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_global_host_cache_dtor
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_SSL_init
 libcurl.lib(easy)
  Error 42: Symbol Undefined _WSACleanup 0
 libcurl.lib(easy)
  Error 42: Symbol Undefined _WSAStartup 8

 --- errorlevel 12
Aug 09 2003
next sibling parent reply "Charles Sanders" <sanders-consulting comcast.net> writes:
 The first thing I'd do is generate a .lst file from your library
Neat! Lots of cool tools I look forward to the CD. It took me an embarrisgly long time to realize the if a header file followed a implementation file in the build list that the object file got written over by the compiled header file, I took out all the header files and it builds fine. Quick question, why if the compiler fails on a build is the executable still created ? Thanks, Charles "Walter" <walter digitalmars.com> wrote in message news:bh45nt$akg$1 digitaldaemon.com...
 The first thing I'd do is generate a .lst file from your library and see
if
 the symbols are really in there or not.

 "Charles Sanders" <sanders-consulting comcast.net> wrote in message
 news:bh3rc3$qp$1 digitaldaemon.com...
 Hey all,

 First time to post, Im trying to build libcurl and im feeling stupid, I
 can't seem to get it to work :/.  It compiles fine, and it looks like
the
 lib.exe is run correctly, it exports the library as expected,  but when
I
 try to link to a test file I get the errors listed beow.  Attached is
the
 source and the Makefile im using.  Not sure what I'm doing wrong here ??
It
 seems to all be in easy.c (easy.obj)  -- but all those symbols should be
 defined!

 Source is to big, you can find it at
www.atari-soldiers.com/dmc_build.zip
 P.S.  I created the winmm.lib and ws2_32.lib and wsock32.lib with
implib.exe
 Thanks for any help,
 Charles


 C:\curl-7.10.5\lib>dmc -I../include test.c libcurl.lib ws2_32.lib
winmm.lib
 link test,,,libcurl+ws2_32+winmm+user32+kernel32/noi;
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_cookie_init
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_close
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_perform
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_freednsinfo
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_global_host_cache_get
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_setopt
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_open
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_SSL_cleanup
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_global_host_cache_dtor
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_SSL_init
 libcurl.lib(easy)
  Error 42: Symbol Undefined _WSACleanup 0
 libcurl.lib(easy)
  Error 42: Symbol Undefined _WSAStartup 8

 --- errorlevel 12
Aug 09 2003
parent "Walter" <walter digitalmars.com> writes:
"Charles Sanders" <sanders-consulting comcast.net> wrote in message
news:bh4gi3$kaj$1 digitaldaemon.com...
 Quick question, why if the compiler fails on a build is the executable
still
 created ?
If you're using a correctly set up makefile, it should stop on the first failure.
Aug 09 2003
prev sibling parent reply "Charles Sanders" <sanders-consulting comcast.net> writes:
Hey again another quick question,

I used the implib to create wsock32.lib from C:/WINNT/system32/wsock32.dll ,
and when I try to link test.c against libcurl I get the undefines listed
below.  I looked in the libcurl.lst and it contains all of the symbols but
without the underscore and  X.  Is that  X an offest for the function in the
dll ?  What do I need to do to fix this ?

I get the same error messages if i do

dmc -I../include test.c libcurl wsock32.lib

or

dmc -I../include test.c libcurl


C:\curl-7.10.5\lib>dmc -I../include test.c libcurl wsock32.lib
link test,,,libcurl+wsock32+user32+kernel32/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

libcurl.lib(easy)
 Error 42: Symbol Undefined _WSACleanup 0
libcurl.lib(easy)
 Error 42: Symbol Undefined _WSAStartup 8
libcurl.lib(url)
 Error 42: Symbol Undefined _inet_ntoa 4
libcurl.lib(url)
 Error 42: Symbol Undefined _htons 4
libcurl.lib(url)
 Error 42: Symbol Undefined _ntohs 4
libcurl.lib(url)
 Error 42: Symbol Undefined _select 20
libcurl.lib(url)
 Error 42: Symbol Undefined _closesocket 4
libcurl.lib(transfer)
 Error 42: Symbol Undefined ___WSAFDIsSet 8
libcurl.lib(hostip)
 Error 42: Symbol Undefined _gethostbyname 4
libcurl.lib(hostip)
 Error 42: Symbol Undefined _ntohl 4
libcurl.lib(hostip)
 Error 42: Symbol Undefined _inet_addr 4
libcurl.lib(hostip)
 Error 42: Symbol Undefined _htonl 4
libcurl.lib(sendf)
 Error 42: Symbol Undefined _recv 16
libcurl.lib(sendf)
 Error 42: Symbol Undefined _send 16
libcurl.lib(timeval)
 Error 42: Symbol Undefined _timeGetTime 0
libcurl.lib(connect)
 Error 42: Symbol Undefined _connect 12
libcurl.lib(connect)
 Error 42: Symbol Undefined _socket 12
libcurl.lib(connect)
 Error 42: Symbol Undefined _getsockopt 20
libcurl.lib(connect)
 Error 42: Symbol Undefined _ioctlsocket 12

--- errorlevel 19

"Walter" <walter digitalmars.com> wrote in message
news:bh45nt$akg$1 digitaldaemon.com...
 The first thing I'd do is generate a .lst file from your library and see
if
 the symbols are really in there or not.

 "Charles Sanders" <sanders-consulting comcast.net> wrote in message
 news:bh3rc3$qp$1 digitaldaemon.com...
 Hey all,

 First time to post, Im trying to build libcurl and im feeling stupid, I
 can't seem to get it to work :/.  It compiles fine, and it looks like
the
 lib.exe is run correctly, it exports the library as expected,  but when
I
 try to link to a test file I get the errors listed beow.  Attached is
the
 source and the Makefile im using.  Not sure what I'm doing wrong here ??
It
 seems to all be in easy.c (easy.obj)  -- but all those symbols should be
 defined!

 Source is to big, you can find it at
www.atari-soldiers.com/dmc_build.zip
 P.S.  I created the winmm.lib and ws2_32.lib and wsock32.lib with
implib.exe
 Thanks for any help,
 Charles


 C:\curl-7.10.5\lib>dmc -I../include test.c libcurl.lib ws2_32.lib
winmm.lib
 link test,,,libcurl+ws2_32+winmm+user32+kernel32/noi;
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_cookie_init
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_close
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_perform
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_freednsinfo
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_global_host_cache_get
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_setopt
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_open
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_SSL_cleanup
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_global_host_cache_dtor
 libcurl.lib(easy)
  Error 42: Symbol Undefined _Curl_SSL_init
 libcurl.lib(easy)
  Error 42: Symbol Undefined _WSACleanup 0
 libcurl.lib(easy)
  Error 42: Symbol Undefined _WSAStartup 8

 --- errorlevel 12
Aug 10 2003
parent "Walter" <walter digitalmars.com> writes:
See www.digitalmars.com/faq.html#sysimport

You'll also get wsock23.lib on the CD shipped to you today!


"Charles Sanders" <sanders-consulting comcast.net> wrote in message
news:bh66gg$24to$1 digitaldaemon.com...
 Hey again another quick question,

 I used the implib to create wsock32.lib from C:/WINNT/system32/wsock32.dll
,
 and when I try to link test.c against libcurl I get the undefines listed
 below.  I looked in the libcurl.lst and it contains all of the symbols but
 without the underscore and  X.  Is that  X an offest for the function in
the
 dll ?  What do I need to do to fix this ?
Aug 11 2003