Sure I prefer to use Linux or Solaris where all versions of OpenSSL compile
effortlessly but I mostly have to use NT 4.0 for work.  To get access to my
key protected info, I've tried to compile OpenSSL 0.9.5a (and earlier
versions) with both CygWin32 & Mingw32.  This has always been a nightmare.
After heaps of patching I get CygWin to compile, "make test" passes but
straight file encryption (e.g. opensssl enc -e/d -in ... -out....) fails
because of issues with cr/lf handling.

After lots of time hacking the code, it strikes me that the makefile.one
approach for CygWin is wrong.  After all, CygWin provides a good bash shell
and Unix-like enviornment under Windows.  Most of the compilation/execution
problems occur because fo the many "ifdef WIN32/MSDOS/WINDOWS" and similar.
Surely it makes more sense to use the CygWin provided Unix compatible calls?

A Unix-like clean compile turned out to be simple to achieve with a few
edits to e_os.h to prevent MS defines , followed by

$./configure no-threads CygWin32
$make links
$.... edit crypto/buildinf.h to delete the #error line
$make all

Only two problems occur that I see:

crypto/asn1/a_utctm.c doesn't find "gmtime", I've kludged this in my version
as I'm not a C programmer and I don't use this function, any suggestions
welcome.

Also Make install doesn't handle the .exe extension on openssl - I install
manually.

I've attached a diff file and would really appreciate comments of those who
are wiser than I am.

Also is /dev/random & /dev/urandom reliable on CygWin 1.1.1 under NT 4.0?

John Jarvie

openssl-SNAP-20000521.patch

Reply via email to