alberthdev/alberthdev-misc

Building Openssl ver 1.02 instructions incorrect

Opened this issue · 5 comments

These steps dont work for me:
perl Configure VC-WIN64A --prefix=C:\OpenSSL-win64
ms\do_win64a
ms\do_nasm
nmake -f ms\nt.mak
nmake -f ms\nt.mak install

This worked according to the instructions in the readme:
perl Configure VC-WIN64A

ms\do_win64a
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install

Then to build QT had problems with your configure script. This worked for me instead:

..\configure -opensource -confirm-license -debug-and-release -ssl -openssl -opengl dynamic -static -static-runtime -no-compile-examples -nomake examples -L C:\openssl-win64\lib -I C:\openssl-win64\include OPENSSL_LIBS="-l libeay32 -l ssleay32" -prefix C:\Qt\Qt5.8.0-static-ssl64

Thanks for the info! Interesting, so did you remove the do_nasm step? That step works IIRC only when you have NASM installed, and it was one of the assemblers that is recommended for building OpenSSL. What kind of error did you end up getting from running that?

Regarding your Qt configure flags, interesting to see that -l libeay32 -l ssleay32 (as a part of the configure args, not in its own variable) no longer works. What kind of error did you get? And was this issue present in Qt 5.7, by any chance? (It looks like you're tackling Qt 5.8, which I will be building soon...)

When I followed your guide it worked perfectly for the X32 bit pathway but when I tried compiling the OpenSSl 1.02x in the X64 VS2013/15 native shells I would get a linking fatal error that said something like obj is 32 bit and expecting 64 bit object. So I followed the Openssl build instructions and perhaps their instruction skipped the do_nasm step using ntdll.mak instead of nt.mak but it built the openssl dll files needed anyhow without error.

Also had to change the ' -l libeay32 -l ssleay32' parameter and wrap it in that OpenSSL_lib= command. Found that after getting errors that '-l' not understood and spending an hour google searching.

Thanks

Ah gotcha - yeah, OpenSSL building can be a bit nasty... I'm looking around at the other OpenSSL derivatives, and I've set my sights on potentially jumping to LibreSSL for embedding within Qt static builds. This won't happen until much later this year due to LibreSSL's release schedule (8/1 is their next release), but the fixes needed to work with Qt are already in, so I'm hopeful that I can get rid of the nasty OpenSSL dependency and build insanity!

Thanks again for the report - I've updated my wiki page with some notes to warn about Qt v5.8's changes, and some more details about a possible move to LibreSSL!

Keeping this open so that I can update the build instructions at a later date...

Looking forward to your 5.8 guide. Thanks for mentioning me!
I found already a couple bugs as I go through a QT tutorial in that qtdialogbuttonbox does not include the header info for qpushbutton and as a result you get a build failure. Also the Pro file generated is always missing the qt+=widgets command so going to recompile it will all that baked in. Thanks

3N2cwaHfgnF8eDQ68B8ezytgsnXAEg3HdS