I spent lot of time to compile latest OpenSSL with mingw64 within CygWin on Windows 11.
Public information mentioned use install prefix like \cygdrive\c\install_folder but you need these commands bellow to be success:
Perl Configure mingw64 no-shared no-asm --prefix=c:\\OpenSSL-x64
make -j 16
make install
Take focus to the standard Windows path syntax:
--prefix=c:\\OpenSSL-x64
Despite the fact that compiling process is within CygWin we need to have Windows path syntax. This will provide for us (in my case mingw64 in c:\tools\mingw64\bin\mingw32-make.exe install) the correct path for install prefix and install it later after compilation to the correct path in Windows files system.
The big question is for now how for other source codes.
How to generally ensure that I can use one markup for paths in cygwin?
The real problem is that the Windows version of mingw32/64 and its exe files have a problem recognizing commands such as:
C:\tools\mingw64\bin\ranlib.exe: '/cygdrive/C/OpenSSL-x64/lib64/libcrypto.a.new': No such file
make: *** [Makefile:3027: install_dev] Error 1
I changed the prefix from
--prefix=/cygdrive/c/OpenSSL-x64
to
--prefix=c:\\OpenSSL-x64
.
Again me. Hi.
From the reason I had some unspecified configurations and chaos in my tool chains from my previous attempts to compile some sources from public domain on my local machine.
I decided to make the thinks right way.
First
I removed local mingw64. I removed local CygWin. I removed unwanted Windows Evnvironment variables in the PATH. I removed Perl from windows which is required for configure openSSL.
Second
I installed MSYS64 only with UCRT64 I opened UCRT64 terminal and enter commands as required to compile openSSL
In ucrt64 terminal i did:
I guess that MSYS64 safe me from more of hours lost with struggling this all via separately installed mingw64, cygwin, perl, and so on.