From 03401ccac3c6426e57341eb60d96117e399b4f4c Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Thu, 16 Nov 2023 09:11:56 +0000 Subject: [PATCH] Linux, Windows install; Altcoin Support modified: Altcoin-and-Forkcoin-Support.md renamed: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md -> Install-Bitcoind-from-Source-on-Linux.md modified: Install-MMGen-on-Linux.md modified: Install-MMGen-on-Microsoft-Windows.md modified: Test-Suite.md --- Altcoin-and-Forkcoin-Support.md | 7 ++- ...> Install-Bitcoind-from-Source-on-Linux.md | 0 Install-MMGen-on-Linux.md | 63 +++++++++---------- Install-MMGen-on-Microsoft-Windows.md | 2 +- Test-Suite.md | 2 +- 5 files changed, 35 insertions(+), 39 deletions(-) rename Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md => Install-Bitcoind-from-Source-on-Linux.md (100%) diff --git a/Altcoin-and-Forkcoin-Support.md b/Altcoin-and-Forkcoin-Support.md index 4c9bdf4..d139753 100644 --- a/Altcoin-and-Forkcoin-Support.md +++ b/Altcoin-and-Forkcoin-Support.md @@ -34,7 +34,7 @@ In addition, ERC20 token creation and deployment are supported via the From the MMGen repository root, type: ```text -$ python3 -m pip install -r alt-requirements.txt +$ python3 -m pip install -r alt-requirements.txt # skip this for MSYS2 $ python3 -m pip install --no-deps -r eth-requirements.txt ``` @@ -236,6 +236,9 @@ in your executable path. Install the Python XMR requirements: +(Note that this step is not required for MSYS2, as these requirements were +already installed by pacman.) + ```text $ python3 -m pip install -r alt-requirements.txt $ python3 -m pip install -r xmr-requirements.txt @@ -362,7 +365,7 @@ the MMGen Project. [X]: command-help-autosign [gs]: Getting-Started-with-MMGen [bo]: Getting-Started-with-MMGen#a_bo -[si]: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux +[si]: Install-Bitcoind-from-Source-on-Linux [bi]: Install-Bitcoind#a_d [p8]: Install-Bitcoind#a_r [ge]: https://github.com/ethereum/go-ethereum diff --git a/Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md b/Install-Bitcoind-from-Source-on-Linux.md similarity index 100% rename from Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux.md rename to Install-Bitcoind-from-Source-on-Linux.md diff --git a/Install-MMGen-on-Linux.md b/Install-MMGen-on-Linux.md index 0eba9b6..8e3a3fc 100644 --- a/Install-MMGen-on-Linux.md +++ b/Install-MMGen-on-Linux.md @@ -6,7 +6,7 @@ altcoin support, additional installation steps are required. See* For computers with no Internet connection, see **Note for offline machines** below. -### Install required packages: +### Install required packages from your Linux distribution: #### Debian/Ubuntu: @@ -20,23 +20,25 @@ $ sudo apt-get install curl git gcc libtool make autoconf libgmp-dev libssl-dev $ sudo pacman -S curl git gcc libtool make autoconf automake autogen pcre python-pip libsecp256k1 ``` -### Upgrade the build tools: +To keep your MMGen installation isolated from the rest of your Python packages, +you may wish to use a [virtual environment][ve]. If you choose not to do this, +you may get an ‘externally-managed-environment’ error when installing packages +with `pip`. In this case, you must add `--break-system-packages` to the `pip` +command line. Note that this will not in fact break any system packages, as pip +installs all packages under the user’s home directory when invoked as user. + +### Upgrade the Python build tools: ```text -$ python3 -m pip install --user --upgrade pip setuptools build wheel +$ python3 -m pip install --upgrade pip setuptools build wheel ``` -If you get an ‘externally-managed-environment’ error (with Debian bookworm, -for example), add `--break-system-packages` to the command line. Note that this -will not in fact break any system packages, as pip installs all packages under -the user’s home directory when `--user` is in effect. - ### Install MMGen: #### Stable version: ```text -$ python3 -m pip install --user --upgrade mmgen-wallet # see 'Install Note' below +$ python3 -m pip install mmgen-wallet ``` #### Development version: @@ -46,26 +48,27 @@ pushed to the public repository, security vulnerabilities are more likely to be present in new code than in a stable release. In addition, new code may require dependencies or installation steps not yet covered in the documentation. -Make sure that `~/.local/bin` is in `PATH`. Existing MMGen users should delete -any old installations under `/usr` or `/usr/local`. +If not running in a virtual environment, make sure that `~/.local/bin` is in +`PATH`. Existing MMGen users should delete any old installations under `/usr` +or `/usr/local`. ```text $ git clone https://github.com/mmgen/mmgen.git $ cd mmgen $ python3 -m build --no-isolation -$ python3 -m pip install --user --upgrade dist/*.whl # see 'Install Note' below +$ python3 -m pip install --upgrade dist/*.whl # see 'Install Note' below $ cd .. ``` -**Install Note:** The `--force` and `--no-deps` options also come in handy -on occasion. - -If you plan to run the test suite, additional installation steps are required. -Refer to the [Test Suite][ts] wiki page for details. +**Install Note:** When upgrading from previous versions, the `--force` and +`--no-deps` options also come in handy on occasion. Install your coin daemon(s). To install prebuilt binaries, go [here][01]. To install from source, go [here][02]. +If you plan to run the test suite, additional installation steps are required. +Refer to the [Test Suite][ts] wiki page for details. + #### Note for offline machines: The computer you’ve designated for offline use must be connected to the @@ -74,38 +77,28 @@ is normally not a problem, as you can simply take it offline permanently after the install is done, preferably removing or disabling its network interfaces. However, if your machine is already offline and you wish to leave it that way, -or if it lacks a network interface entirely, then you’ll need to take roughly -the following steps: +or if it lacks a network interface entirely, then you’ll need to take the +following steps: > If your offline and offline computers have the same architecture, then > download the Debian/Ubuntu packages and their dependencies on the online > one using `apt-get download`. Otherwise, retrieve the packages manually > from `packages.debian.org` or `packages.ubuntu.com`. > -> Download any required Python packages using `python3 -m pip download`, or -> manually from [pypi.org][pi] if your online and offline computers have -> different architecture. +> Download the Python build tools using `python3 -m pip download`. > -> Transfer the downloaded files and cloned Git repositories to your offline -> computer using a USB stick or other removable medium. Install the -> Debian/Ubuntu packages with `sudo dpkg -i` and the Python packages with -> `python3 -m pip install --user`. -> -> Clone the [secp256k1][ec] repository and copy it to `~/.cache/mmgen` -> directory on the offline machine (or copy it from your online machine’s -> `~/.cache/mmgen`). Copy the MMGen repository to the offline machine and -> install MMGen as described above. If your online and offline machines have -> different architecture, make sure to clean up any build/dist files in the -> repositories before installing (in `secp256k1` this is accomplished by `make -> clean`). +> Transfer the downloaded files to your offline computer using a USB stick or +> other removable medium. Install the Debian/Ubuntu packages with `sudo dpkg +> -i` and the Python packages with `python3 -m pip install`. Congratulations, your installation is now complete! You can now proceed to [**Getting Started with MMGen**][gs]. [01]: Install-Bitcoind -[02]: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux +[02]: Install-Bitcoind-from-Source-on-Linux [ts]: Test-Suite [gs]: Getting-Started-with-MMGen [pi]: https://pypi.org [af]: Altcoin-and-Forkcoin-Support [ec]: https://github.com/bitcoin-core/secp256k1.git +[ve]: https://docs.python.org/3/library/venv.html diff --git a/Install-MMGen-on-Microsoft-Windows.md b/Install-MMGen-on-Microsoft-Windows.md index d615c00..4b1ac9b 100644 --- a/Install-MMGen-on-Microsoft-Windows.md +++ b/Install-MMGen-on-Microsoft-Windows.md @@ -338,7 +338,7 @@ If you’ll be using MMGen with Ethereum, then you must install a few dependencies. From the MMGen repository root, type the following: ```text -$ python3 -m pip install --no-deps --user -r eth-requirements.txt +$ python3 -m pip install --no-deps -r eth-requirements.txt ``` For an offline install, do this instead: diff --git a/Test-Suite.md b/Test-Suite.md index fda3e9d..91987eb 100644 --- a/Test-Suite.md +++ b/Test-Suite.md @@ -220,7 +220,7 @@ commands’ output on the screen as they’re being run. | `test/tooltest2.py` | the `mmgen-tool` utility - data validity | | `test/unit_tests.py` | low-level subsystems | -[sd]: Install-Bitcoind-from-Source-on-Debian-or-Ubuntu-Linux +[sd]: Install-Bitcoind-from-Source-on-Linux [bd]: Install-Bitcoind [md]: https://getmonero.org/downloads/#linux [ad]: https://download.bitcoinabc.org/