J_S
J_S

Reputation: 3282

OpenSSL "perl Configure mingw" exits with error "perl implementation doesn't produce Unix like paths"

I'm attempting to compile OpenSSL from sources (using git master as of today) using MinGW on Windows. Running perl Configure mingw no-asm returns an error:

    This perl implementation doesn't produce Unix like paths (with forward slash
    directory separators).  Please use an implementation that matches your
    building platform.

    This Perl version: 5.24.1 for MSWin32-x86-multi-thread-64int

which is interesting, because it means it checks whether I'm on Unix rather than Windows. In contrast, running perl Configure VC-WIN32 no-asm works fine.

Is this intended that it should be checking for Unix in that case? Or maybe I'm missing something, such as a way of specifying the platform I'm on?

Upvotes: 5

Views: 6058

Answers (1)

Matt Caswell
Matt Caswell

Reputation: 9447

The OpenSSL mingw build is expected to be run from an MSYS2 shell (which uses Unix style paths) and use msys2 perl. From the file "NOTES.PERL" in the OpenSSL top level directory:

Notes on Perl on Windows
------------------------

There are a number of build targets that can be viewed as "Windows".
Indeed, there are VC-* configs targeting VisualStudio C, as well as
MinGW and Cygwin. The key recommendation is to use "matching" Perl,
one that matches build environment. For example, if you will build
on Cygwin be sure to use the Cygwin package manager to install Perl.
For MSYS builds use the MSYS provided Perl. For VC-* builds we
recommend ActiveState Perl, available from
http://www.activestate.com/ActivePerl.

Really that text should be updated to explicitly say MSYS2 (in theory MSYS might work, but the version of perl provided by MSYS is too old).

Install the MSYS2 perl and that error message should go away.

Upvotes: 9

Related Questions