Closed BrannonKing closed 5 years ago
For 3: I like how it's done by Dockefile, it's reproducible to me. We can build images as well. Alternatively we can use a package manager like Conan. For 4: Should we go for CMake as better build system over autotools?
I like the idea of supporting Conan, and of changing out our use of build.lbry.io/lbrycrd in favor of Conan. I think that's a separate story, though.
I definitely prefer CMake over Autotools. However, I don't think we can make that switch without the upstream bitcoin project also changing. It would be too heavy of maintenance on our part every time we merge from upstream. See https://github.com/bitcoin/bitcoin/issues/14118
This solution at present requires ccache to be installed for any of the packaging scripts. I would prefer it to be optional. I think that could be introduced as a separate PR.
In answer to the question of what bug does this fix: I had it happen to me again yesterday. The build for the 12.4.1 release failed on the OSX build with an incompatible binary error. I had to clear the TravisCI cache to make it work. This implies that ccache is confusing cross-platform files in the current code. That is addressed by the changes in this PR.
Goals with this PR:
For reviewing this, first check which files match bitcoin v17. That will eliminate the need for reviewing the majority of the files.