cURL / Mailing Lists / curl-library / Single Mail

curl-library

Fw: 64 vs 32 bits (was Re: (no subject))

From: Brian Krings <krings_at_us.ibm.com>
Date: Thu, 13 Oct 2005 09:04:38 -0500

Thanks for the responses.

Basically what I have here is an application that uses PAM authentication.
The application is a 32 bit application running in compat mode. Meaning the
32 bit libraries need to exist for this application on 64 bit systems. The
PAM module (which I own) uses libcurl.so to send an HTTP request. The
problem I was seeing, is the application would invoke the PAM module and
then after I dynamically loaded cURL I would get no further. This
application runs on a number of OS's (Windows 2003, i5/OS, AIX, and LInux
RH and SLES). libcurl is only used on AIX and Linux. We cannot build the
application on every version of Linux architecture.

So, in attempt to solve our problem on the 64bit architecture, I built a
64bit version of the PAM module, Problem is, the application invoking PAM
is 32 bit, so now I couldn't even get my PAM module to load. After this, I
elected to install 32 bit cURL on our 64 bit system and everything worked
again. My question is, what will happen now when some 64 bit application
needs to use the 32 bit curl. I did see /usr/lib is for 32 bit and
/usr/lib64 is for the 64 bit, so it looks like libcurl.so can coexist.
However, I did notice /usr/bin/curl is shared between both 32 and 64 bit.

Thanks in advance for any feedback.
Brian
                                                                            
                                                                            
   On Fri, 7 Oct 2005, Brian Krings wrote:
                                                                            
                                                                            
> I am using cURL in a C application that works fine... until I got on
   a 64
> bit SLES 9 zSeries system. My application is a 31 bit application
                                                                            
                                                                            
   Most computer architectures are 32 or 64 bits, but you have a 31 bit
   one?
                                                                            
                                                                            
> that attempts to dynamically load the /usr/lib/libcur.so (which in
   this case
> is a link to /usr/lib64/libcurl.2.0.2) I don't fail the dynamic link,
   but
> cURL seems to hang when the HTTP request is made
                                                                            
                                                                            
   Hang how? How do you use libcurl then? What libcurl version is this?
   How did
   you build the lib?
                                                                            
                                                                            
> but loading a 64bit .so with a 31 bit app is a not good anyway.
                                                                            
                                                                            
   So why do you do it?
                                                                            
                                                                            
> So, my question is, is their a compat package for cURL on this
   platform 64
> bit SLES 9 zSeries ?
                                                                            
                                                                            
   How did you get libcurl in the first place? If you're using a lib
   delivered by
   your Linux distro, why don't you ask your Linux distro provider? The
   curl
   project provides (lib)curl as source code and you can easily build your
   own
   from this package for your OS of choice.
                                                                            
                                                                            
   If you build it yourself, why don't you simply build a plain and simple
   64bit
   version if you run 64bit? I don't even understand how your app can be
   32bit in
   a 64bit environment. And what do you mean with libcurl being 64bit but
   your
   app isn't?
                                                                            
                                                                            
   curl needs no "compat package" as it already is compatible with itself!
                                                                            
                                                                            
   --
     Commercial curl and libcurl Technical Support:
   http://haxx.se/curl.html
                                                                            
                                                                            
                                                                            
   Received on Fri Oct 7 20:17:46 2005
                                                                            
                                                                            

Brian Krings
krings_at_us.ibm.com
Dept. G8RA
Phone 507/253-1351 Tie 553-1351
Received on 2005-10-13