Giter Site home page Giter Site logo

seal-clubber / evrmore-static-binary-builder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from evrmoreorg/evrmore-static-binary-builder

0.0 0.0 0.0 3 KB

Bash script to build statically-linked binary executables of the Evrmore Core node software

Shell 100.00%

evrmore-static-binary-builder's Introduction

ESBB - Evrmore Static Binary Builder

ESBB is a bash script which can be used to build statically-linked binary executables of the Evrmore Core node software for any of the supported operating systems and CPU families.

ESBB uses the Evrmore Core C++ code to compile Core and all dependencies from the source code in the Github EvrmoreOrg/Evrmore repository. Moreover, ESBB accomplishes its tasks by using the Github-Actions scripts located in the same repository at https:/github.com/EvrmoreOrg/Evrmore/tree/develop/.github/scripts

Installing the Evrmore Static Binary Builder

ESBB is best used in a VirtualBox virtual machine or in a Docker container or similar. It is intended to be run on Ubuntu-20.04 as the super-user.

After creating the VM, login and obtain super-user privileges:

	sudo su

Then copy the script "evrmore-static-binary-builder.sh" into the VM.

Look at the variables at the top of the script. You should not need to change any of them, but you could edit the script if you want to do something special. I often change "GITURL" to point to a local directory instead of to the public Github repository if I have a locally edited version of the Core source code which I am testing.

Running the script

USAGE:

./evrmore-static-binary-builder.sh <platform> <branch> <makethreads>  

where:

    - platform (BUILDFOR) is one of: windows, osx, linux, linux-disable-wallet, arm32v7, arm32v7-disable-wallet, aarch64, or aarch64-disable-wallet  
    - and branch (GITBRANCH) is the git branch to build (e.g.: develop, master, etc)  
    - and makethreads (THREADS) is the number of threads to use while compiling (e.g.: 1, 5, etc)  

Hints

Evrmore's large genesis block requires a lot of memory during compilation. Compiling binaries for Windows is especially challenging because the ming-w64 cross-compilation environment does not appear to properly handle large arrays which do not fit in memory. I find that allocating a large 30GB swap space eliminates the errors.

evrmore-static-binary-builder's People

Contributors

hans-schmidt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.