Fix failing Travis Builds
Opened this issue · 4 comments
It is already well known that compiling using the libssl-dev from the Debian 9 repositories is not working, with BIGNUM errors, etc. A workaround is to use libssl1.0-dev instead.
Now, in Debian Buster (testing), libssl1.0-dev is no longer in the repositories (Package 'libssl1.0-dev' has no installation candidate) so it will really be a pain to compile in recent Linuxes.
I was thinking about this recently. The fix is to eliminate BIGNUM entirely and switch to GMP. I don't think it will be too difficult. I will look into this.
I think that finishing this GMP port would be a prerequisite for #20 .
So far I did not encounter any issue with this GMP code so it should be good.
Now we need to update the build system.
To include GMP in gitian as best I can tell this would be the place to start (win and osx descriptors needs looked at too obviously):
https://github.com/riecointeam/riecoin/blob/master/contrib/gitian-descriptors/gitian-linux.yml#L8
For travis, I would suggest this to be an area to look at, specifically the PACKAGES
env variable:
https://github.com/riecointeam/riecoin/blob/master/.travis.yml#L26
The compilation system should now work for Riecoin with Gmp, except for Mac Cross Compilation. I don't really know why Travis fails for this. Additionally, like said in #9, the Fuzz test fail, making the 00_setup_env_native_fuzz.sh test fail in Travis.
Gitian should work fine to generate Linux and Windows binaries (I did not test Mac, but probably fails like for Travis). However I only did the basic compilation stuff, and did not touch the signature system.
Fyi, gitian-linux.yml only contains build packages (no things like Boost or Gmp), and for Travis, the interesting stuff was in ci/test. To make include Gmp in the builds, I added a dependency in depends/packages.
Help needed to fix the remaining problems.