gridcoin-community / Gridcoin-Research

Gridcoin-Research
MIT License
588 stars 173 forks source link

Unable to build with OpenSSL 1.1.0 #164

Closed amartinz closed 7 years ago

amartinz commented 7 years ago

Since OpenSSL 1.1.0 BIGNUM is a struct bignum_st and there where some other changes, like BN_init() got removed.

Build host: Fedora Rawhide

$> openssl version
OpenSSL 1.1.0c-fips  10 Nov 2016

All in all building is very inconsistent. I could not get a single successful build so far. I have tried on Fedora and Windows 10 via shell, linux subsystem (windows), and QtCreator 4.2.0 on both platforms.

tomasbrod commented 7 years ago

I can't help you here, but I am sure others will find useful if you post:

amartinz commented 7 years ago

As said, it is because 1.1.0 changed a lot compared to 1.0.x.

You can build successfully with downloading OpenSSL 1.0.x sources and install it to another directory and instruct to link against those.

The documentation would need some overhaul and maybe the build scripts too.

Erkan-Yilmaz commented 7 years ago

@Evisceration thanks for the testing

we have like 3 weeks now, because: "The 1.0.1 version is currently only receiving security bug fixes and all support will be discontinued for this version on 31st December 2016" and: "The latest stable version is the 1.1.0 series of releases."

amartinz commented 7 years ago

@Erkan-Yilmaz i have also tested compiling with 1.0.2 and it works fine without any major changes.

So until someone does the transition to 1.1.0, 1.0.2 could be used instead.

Also available is the 1.0.2 series. This is also our Long Term Support (LTS) version (support will be provided until 31st December 2019).

Quote from OpenSSL

Erkan-Yilmaz commented 7 years ago

"As long as this is not fixed - no compiling on Debian testing (stretch)." https://www.reddit.com/r/gridcoin/comments/5lgmbl/gridcoin_3584_released/dbvmheg/

gridcoin commented 7 years ago

You can build on Debian against 1.0.1p. We moved to 101p in September 2016. Looking at the vulnerabilities list, there are no new vulnerabilities against 101p while there ARE some for 1.1.0* (https://www.openssl.org/news/vulnerabilities.html).

I see no reason to degrade our security by upgrading to a less secure version at this time.

I would recommend building against 101p.

amartinz commented 7 years ago

The linked vulnerabilities already got fixed and shipped in these distributions.

You will have a hard time downgrading OpenSSL versions.

A solution to fix building on such machines while still using old OpenSSL versions, would be compiling them in statically instead of using the shared OpenSSL version shipped with the OS.

amartinz commented 7 years ago

Also 1.0.1 is not supported anymore, so i would at least consider using 1.0.2, which does not introduce build breakage compared to 1.1.0.

denravonska commented 7 years ago

I have pushed a possible fix for it in denravonska/Gridcoin-Research@2235e0ee5f9b75b0b3267c0c09ec10cfd14fd870. I'm about to test this on my OpenSSL-1.0.2 wallet but I don't have a fully staking wallet on 1.1.0 yet. Feel free to test that branch you want.

LokiToki commented 7 years ago

@denravonska Your openssl 1.1.0 works for me. (x64 debian, boost 1.62.0.1, Qt creator 4.2.1)

I will try to install a older version for master branch.

Thx

denravonska commented 7 years ago

Fixed in the development branch.