cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: libcurl (perl) and windows

From: lupusdacicus <lupusdacicus_at_juno.com>
Date: Mon, 4 Nov 2002 06:42:41 -0800

(activestate): download and install active perl
(curl.hax.se): download and install curl for windows
(curl.hax.se): download Easy. pm, libcurl, perl interface

perl Makefile.PL
Didn't work. had to modify it, the path to curl.h to reflect what I had on
my PC.
Looked for a "make" like utility for windows. Found it with google and
downloaded from Micro$oft website.
did: make. Didn't work. Cris Baillif told me I needed an actual compiler,
that (n)make is not a compiler.

Install Visual C or ( Borland C may work too).
Try to run the CL compiler.
When trying to use CL compiler, it said that it couldn't find mspdb60.dll.

I looked/searched for the damn file and I found it in another directory from
Micro$oft Visual C. Copied the damn file into C:\windows\system

Tried again to do make. Cl crashed again. Now I open the easy.c file and try
to debug it. I look at the code and I realize I don't know enough C. Don't
know enough nothing. I am jelous at Daniel Steinberg and the other
developers that can write code like this... The good thing is that they
share it... Thank you guys and you too Daniel. I realize I need to learn
more C. After trying to build easy.c, it says it cannot find extern.h,
perl.h and XSUB.h. I modify the path on #include <> statemant, but obviously
I cannot remember the right syntax, because it wouldn't look on the path
given. I don't have MSDN and no help on sytax is available. I am trying to
copy the files needed in the same directory with easy.c. Now it says
something that cannot find/open config.h. It is like the other ones in
C:\perl\bin\CORE
Now it says it cannot find arpa\inet.h
I am getting tired of copying the files from C:\perl\bin\Core and I wish I
knew where should I modify the path to my perl directory. I looked in
Makefile and I do have PERL_INC = C:\Perl\lib\CORE, but nothing. I copied
arpa directory into C:\perl\lib\site\Curl, where I am trying to compile
easy.c, but Visual C debugger says:
c:\perl\site\lib\curl\perl.h(662) : fatal error C1083: Cannot open include
file: 'arpa/inet.h': No such file or directory
Error executing cl.exe.

Why? arpa/inet.h is there with the easy.c file.

Modified this "<arpa/inet.h> to:

#ifdef I_ARPA_INET
# include <C:\Perl\lib\CORE\arpa\inet.h>
#endif

and now it says the same about

c:\perl\site\lib\curl\perl.h(722) : fatal error C1083: Cannot open include
file: 'sys/socket.h': No such file or directory
Error executing cl.exe.

# include <C:\Perl\lib\CORE\sys\socket.h>

I forgot to save the perl.h before recompiling and got the same error mesg.
Now it opens socket.h, but it cannot find win32.h
I copy the whole C:\Perl\lib\CORE to C:\perl\site\lib\Curl
Bad choice... It rewrote perl.h too and now I have to restart all over again
from arpa/inet.h
I change "/" to "\". It's not working.
Modified line 662 & 722 from perl.h:
# include <C:\Perl\lib\CORE\arpa\inet.h>
# include <C:\Perl\lib\CORE\sys\socket.h>
and so on on win32.h too.

I realize that I may alter my active perl files and the perl may not work
since I am modifying the files. I switch to C:\perl\site\lib\Curl
instead, sinceI copied all the files, I will be modifying them.

I kept modyifying paths..... until I got to this:

--------------------Configuration: easy - Win32 Debug--------------------
Compiling...
easy.c
easy.xs(174) : warning C4101: 'sv' : unreferenced local variable
easy.xs(380) : warning C4018: '<' : signed/unsigned mismatch
Linking...
easy.obj : error LNK2001: unresolved external symbol __imp__win32_fwrite
easy.obj : error LNK2001: unresolved external symbol __imp__win32_stdout
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_2io
easy.obj : error LNK2001: unresolved external symbol _Perl_pop_scope
easy.obj : error LNK2001: unresolved external symbol _Perl_free_tmps
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_2iv
easy.obj : error LNK2001: unresolved external symbol _Perl_TSv_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_croak_nocontext
easy.obj : error LNK2001: unresolved external symbol _Perl_call_sv
easy.obj : error LNK2001: unresolved external symbol _Perl_newSVsv
easy.obj : error LNK2001: unresolved external symbol _Perl_Isv_undef_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_2mortal
easy.obj : error LNK2001: unresolved external symbol _Perl_newSVpvn
easy.obj : error LNK2001: unresolved external symbol _Perl_stack_grow
easy.obj : error LNK2001: unresolved external symbol _Perl_Tstack_max_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_Tstack_base_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_markstack_grow
easy.obj : error LNK2001: unresolved external symbol
_Perl_Tmarkstack_max_ptr
easy.obj : error LNK2001: unresolved external symbol
_Perl_Tmarkstack_ptr_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_Ttmps_ix_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_save_int
easy.obj : error LNK2001: unresolved external symbol _Perl_Ttmps_floor_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_push_scope
easy.obj : error LNK2001: unresolved external symbol _Perl_Tstack_sp_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_get_context
easy.obj : error LNK2001: unresolved external symbol __imp__win32_fread
easy.obj : error LNK2001: unresolved external symbol __imp__win32_stdin
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_2pv
easy.obj : error LNK2001: unresolved external symbol _Perl_newSViv
easy.obj : error LNK2001: unresolved external symbol _Perl_mg_set
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_setiv
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_newmortal
easy.obj : error LNK2001: unresolved external symbol _Perl_Tcurpad_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_Top_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_Tna_ptr
easy.obj : error LNK2001: unresolved external symbol _Perl_croak
easy.obj : error LNK2001: unresolved external symbol __imp__win32_errno
easy.obj : error LNK2001: unresolved external symbol _curl_easy_setopt
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_setref_pv
easy.obj : error LNK2001: unresolved external symbol _curl_easy_init
easy.obj : error LNK2001: unresolved external symbol _Perl_safesysmalloc
easy.obj : error LNK2001: unresolved external symbol _Perl_newSVnv
easy.obj : error LNK2001: unresolved external symbol _Perl_newSVpv
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_setpv
easy.obj : error LNK2001: unresolved external symbol _curl_version
easy.obj : error LNK2001: unresolved external symbol __imp__win32_free
easy.obj : error LNK2001: unresolved external symbol _curl_slist_append
easy.obj : error LNK2001: unresolved external symbol _Perl_av_fetch
easy.obj : error LNK2001: unresolved external symbol _curl_slist_free_all
easy.obj : error LNK2001: unresolved external symbol _Perl_av_len
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_derived_from
easy.obj : error LNK2001: unresolved external symbol _Perl_sv_setsv
easy.obj : error LNK2001: unresolved external symbol _Perl_get_sv
easy.obj : error LNK2001: unresolved external symbol _curl_easy_perform
easy.obj : error LNK2001: unresolved external symbol _curl_easy_getinfo
easy.obj : error LNK2001: unresolved external symbol _Perl_safesysfree
easy.obj : error LNK2001: unresolved external symbol _curl_easy_cleanup
easy.obj : error LNK2001: unresolved external symbol _curl_global_cleanup
easy.obj : error LNK2001: unresolved external symbol _Perl_Isv_yes_ptr
easy.obj : error LNK2001: unresolved external symbol _curl_global_init
easy.obj : error LNK2001: unresolved external symbol _Perl_newXS
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/easy.exe : fatal error LNK1120: 62 unresolved externals
Error executing link.exe.

easy.exe - 63 error(s), 2 warning(s)

___

easy.xss or easy.c:
line 170: SV *sv;
line 380: len = (len<(buflen-1) ? len : (buflen-1));

What shall I do next ? Is there an easier way to do this ? I mean, in the
Makefile.PL I have the right paths to
C:\perl\lib\CORE
but it keeps saying it can't find them.

-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm
Tungsten T handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
Received on 2002-11-05