[Gambas-user] [Gambas Bug Tracker] Bug #984: error compiling again 0.9 openssl, only 1.0 compiles

bugtracker at ...3416... bugtracker at ...3416...
Tue Aug 30 18:41:21 CEST 2016


http://gambaswiki.org/bugtracker/edit?object=BUG.984&from=L21haW4-

Comment #29 by Tobias BOEGE:

You have to excuse my close-mindedness, but all the code you reintroduced is guarded inside

    #if OPENSSL_VERSION_NUMBER <= 0x0090821fL
    <your changes>
    #endif

and the change of Tyrone would make the #if guard like this:

    #if OPENSSL_VERSION_NUMBER <= 0x100000000L
    <your changes>
    #endif

(which I believe should more correctly have the strict "<" operator, not the "<=").

But gb.openssl is not configured anymore to build with OpenSSL < 1.0.0 because, by the OpenSSL ChangeLog, the EVP_MD_do_all() function is missing in these versions (see my comment #7). Effectively the #if's in your patch (which target versions below 1.0.0) will not be entered anyway if gb.openssl is eligible to build at all.

Of course I would like to apply your patch just to finally close this issue and because it seems to work for you, but I wouldn't even know what to write in the commit message. "Fix compilation on systems that gb.openssl is configured not to compile on"?

And I really do not see a point in lowering the version requirement of 1.0.0 again, because the OpenSSL ChangeLog explicitely says that EVP_MD_do_all() was introduced in 1.0.0. If your OpenSSL 0.9.8o Debian packages magically have these functions patched in, then you should also patch Gambas on Debian to magically build against 0.9.8o (i.e. remove the version requirement in the configure.ac of gb.openssl which I introduced in #7876) -- because 0.9.8o should really not have this function and other distros with 0.9.8o may not have it. For all I know, it's a Debian-specific patch. Well, I actually don't know because I just downloaded the squeeze-lts package of OpenSSL 0.9.8o and its patches [1] again, like yesterday, patched the source tree according to the "series" file and still could find no mention of EVP_MD_do_all in all of the source tree. I really really do not see a point in setting the OpenSSL version requirement below 1.0.0. And if the required version is >= 1.0.0, then your patch does not do anything.

[1] https://archive.debian.net/squeeze-lts/libssl-dev






More information about the User mailing list