alberthdev-misc icon indicating copy to clipboard operation
alberthdev-misc copied to clipboard

Building Openssl ver 1.02 instructions incorrect

Open davidm71 opened this issue 8 years ago • 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

davidm71 avatar Mar 18 '17 14:03 davidm71

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...)

alberthdev avatar Mar 19 '17 14:03 alberthdev

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

davidm71 avatar Mar 19 '17 15:03 davidm71

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...

alberthdev avatar Mar 22 '17 05:03 alberthdev

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

davidm71 avatar Apr 10 '17 22:04 davidm71

3N2cwaHfgnF8eDQ68B8ezytgsnXAEg3HdS

Kolychii84 avatar Jan 03 '23 11:01 Kolychii84