Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
My compiler is Microsoft 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86

There's definitely the potential for unavoidable gotchas here. The compiler that built ActivePerl and your compiler use different C runtime libraries - and that *can* definitely be nasty - though, mostly, it's not an issue. And I think it's quite possibly *not* an issue here.

I notice that one of the Test::Exception (which is a Net::SSLeay prereq) tests fails for me on windows. (I tried version 0.26.) Did the same happen for you ? Or does Test::Exception pass all of its tests ? (I'm wondering whether the failure you're up against is related to that Test::Exception failure.)

On my Win32 box, I've actually used the very same compiler (MinGW) to build OpenSSL, perl and Net::SSLeay. But Net::SSLeay still won't build successfully - and, since it uses Module::Install, it's fairly unlikely that I'll ever make an effort to fix the problem.

It actually makes me quite angry to see the sorts of issues that are being thrown up by Net::SSLeay on my Win32 box - especially given that Net::SLLeay built easily for me last time I tried it (which, admittedly, was quite some time ago).

I can set the OPENSSL_PREFIX environment variable to the location of OpenSSL (and perl Makefile.PL finds that library without any trouble). But then I get (during the same Makfile.PL step) the following absurd warnings:
Note (probably harmless): No library found for -llibeay32MD Note (probably harmless): No library found for -lssleay32MD Note (probably harmless): No library found for -llibeay32 Note (probably harmless): No library found for -lssleay32 Note (probably harmless): No library found for -llibssl32
WTF is all that crap about ?
Given that none of those libraries exist, it's no wonder that I get a heap of linking (undefined reference) errors during the dmake step - though I suspect that the same references *are* defined in libcrypto.a or libssl.a (both of which which actually *do* exist).

Anyway, none of this will help you much - except perhaps for the notion that your problem lies with Test::Exception, rather than Net::SSLeay per se.

Sorry ... I was really intending to be a little more helpful, but the distasteful state that Net::SSLeay is in (wrt to Win32) raised my ire to such a level that I just couldn't stomach the exercise.

So how do people get away with such reckless behaviour

Part of the solution is MinGW (port of gcc). It works seamlessly with recent versions of ActivePerl and, since it uses the same C runtime as the MS compiler that was used to build ActivePerl, you won't experience the "gotchas" I mentioned above. Alternatively, you might like to try Strawberry Perl which was built with MinGW and includes that compiler as part of the download.

Then there's the MSYS shell, which enables one to build many libraries (including OpenSSL) using MinGW in the usual nix way - ie ./configure, make, make install. All of these are freely available, btw.

Other than that, you can go down the path that you've already followed. (I suspect you might even be able to build OpenSSL with the compiler you have.)

Cheers,
Rob

In reply to Re: errno in XS not propagating to $! - breaks Net::SSLeay by syphilis
in thread errno in XS not propagating to $! - breaks Net::SSLeay by nobull

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2024-04-25 14:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found