 |
|
| Computers Forum Index » Computer Languages (Perl - Modules) » Crypt::SSLeay and the C runtime... |
|
Page 1 of 1 |
|
| Author |
Message |
| Eric... |
Posted: Fri Oct 23, 2009 10:22 pm |
|
|
|
Guest
|
I would like to get Crypt::SSLeay working so that I can make https
calls.
openssl seemed to install OK.
During the installation of Crypt::SSLeay, it fails test 02-live.t and
a runtime error window pops up saying:
"perl command line interpreter has encountered a problem and needs to
close. We are sorry for the inconvenience"
It seems to be finding the MS C runtime but getting an error whenit
starts.
I have tried with different versions of MSVCR80.dll and also tried
upgrading perl 5.8.8.0 to 5.8.9.0 but all with no effect.
Its probably something obvious but I have been stuck with this for a
while so any pointer appreciated. |
|
|
| Back to top |
|
|
|
| sisyphus... |
Posted: Sat Oct 24, 2009 5:05 am |
|
|
|
Guest
|
On Oct 24, 9:22 am, Eric <eriqcar... at (no spam) yahoo.com> wrote:
Quote: Its probably something obvious but I have been stuck with this for a
while so any pointer appreciated.
It's not exactly obvious, but the problem *could* be that your
compiler uses the MSVCR80.dll C runtime, whereas your perl uses a
different C runtime. For example, if you're using ActivePerl, then
perl is using the MSVCRT.dll C runtime. This will produce an
*irreconcilable* problem when a handle created by MSVCRT80.dll gets
passed to MSVCRT.dll (or vice-versa) as the receiving dll knows
nothing about the handle it has received.
In short, the compiler that built openssl and Crypt::SSLeay should be
using the same C runtime as perl itself. If you're running ActivePerl,
this means you should compile openssl and Crypt::SSLeay with either
MSVC++ 6.0 or the freely available MinGW port of gcc.
If you're committed to using your current compiler, you might have to
first build perl using that compiler (thus ensuring that perl uses
MSVCR80.dll).
I did see somewhere that there's a free version of VC 8 that uses
MSVCRT.dll - it, too, would therefore be usable with ActivePerl (if
you can find it).
Have you considered installing Crypt::SSLeay using ppm ?
ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
That should also avoid the problem (... again, assuming ActivePerl),
though you might also need to avoid using the openssl dll that you
built (as it, too, will be using MSVCR80.dll).
There's also the possibility that the problem is totally unrelated to
the issues I've raised here :-)
Cheers,
Rob |
|
|
| Back to top |
|
|
|
| Eric... |
Posted: Sat Oct 24, 2009 9:10 am |
|
|
|
Guest
|
Rob,
Thanks for your very helpful posting.
Starting with the simplest step first, I tried reinstalling
Crypt::SSLeay using ppm.
It installed very sweetly then re-running my perl script with the
https call ran perfectly!
Previously I was trying to install Crypt::SSLeay manually.
I am very grateful to you for taking the time to reply and pointing
out the fairly obvious to one who is blundering around.
Best regards,
John
On Oct 24, 6:05 am, sisyphus <sisyphus... at (no spam) gmail.com> wrote:
Quote: On Oct 24, 9:22 am, Eric <eriqcar... at (no spam) yahoo.com> wrote:
Its probably something obvious but I have been stuck with this for a
while so any pointer appreciated.
It's not exactly obvious, but the problem *could* be that your
compiler uses the MSVCR80.dll C runtime, whereas your perl uses a
different C runtime. For example, if you're using ActivePerl, then
perl is using the MSVCRT.dll C runtime. This will produce an
*irreconcilable* problem when a handle created by MSVCRT80.dll gets
passed to MSVCRT.dll (or vice-versa) as the receiving dll knows
nothing about the handle it has received.
In short, the compiler that built openssl and Crypt::SSLeay should be
using the same C runtime as perl itself. If you're running ActivePerl,
this means you should compile openssl and Crypt::SSLeay with either
MSVC++ 6.0 or the freely available MinGW port of gcc.
If you're committed to using your current compiler, you might have to
first build perl using that compiler (thus ensuring that perl uses
MSVCR80.dll).
I did see somewhere that there's a free version of VC 8 that uses
MSVCRT.dll - it, too, would therefore be usable with ActivePerl (if
you can find it).
Have you considered installing Crypt::SSLeay using ppm ?
ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
That should also avoid the problem (... again, assuming ActivePerl),
though you might also need to avoid using the openssl dll that you
built (as it, too, will be using MSVCR80.dll).
There's also the possibility that the problem is totally unrelated to
the issues I've raised here :-)
Cheers,
Rob |
|
|
| Back to top |
|
|
|
|
|
All times are GMT
The time now is Thu Nov 26, 2009 10:24 pm
|
|