我正在尝试使用Windows上的MinGW从源代码(使用git master,如今)编译OpenSSL。运行perl Configure mingw no-asm
会返回错误:
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
这很有趣,因为它意味着它会检查我是在Unix而不是Windows。相比之下,运行perl Configure VC-WIN32 no-asm
可以正常工作。
这是否打算在这种情况下检查Unix?或者也许我错过了一些东西,比如指定我正在使用的平台?
答案 0 :(得分:2)
OpenSSL mingw构建预计将从MSYS2 shell(使用Unix样式路径)运行并使用msys2 perl。来自文件" NOTES.PERL"在OpenSSL顶级目录中:
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.
确实应该更新文本以明确说MSYS2(理论上MSYS可能有效,但MSYS提供的perl版本太旧了。)
安装MSYS2 perl,该错误消息应该消失。