mirror of
https://github.com/dogecoin/dogecoin.git
synced 2026-01-31 10:30:52 +00:00
Update build-windows.md
added syntax highlighting to code blocks
This commit is contained in:
parent
d7cc7f8bbb
commit
850eabed60
@ -53,11 +53,11 @@ will also work on other Linux distributions, however the commands for
|
||||
installing the toolchain will be different.
|
||||
|
||||
Install the general dependencies. First, ensure your system is updated and has the latest security patches.
|
||||
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git
|
||||
```
|
||||
A host toolchain (`build-essential`) is necessary because some dependency
|
||||
packages (such as `protobuf`) need to build host utilities that are used in the
|
||||
build process.
|
||||
@ -69,15 +69,15 @@ a zip file. (Look at the green "<> Code" button on [the Dogecoin GitHub reposito
|
||||
|
||||
Make sure this code is available in your Ubuntu directory. If you've unzipped a single downloaded file, you may need to change
|
||||
the permissions of all extracted files with command like:
|
||||
|
||||
sudo chmod -R <your_username> .
|
||||
|
||||
```bash
|
||||
sudo chmod -R <your_username> .
|
||||
```
|
||||
If you've downloaded via `git`, do not use `sudo`. Instead prefer something like:
|
||||
|
||||
cd $HOME
|
||||
git clone https://github.com/dogecoin/dogecoin.git
|
||||
git checkout <branchname>
|
||||
|
||||
```bash
|
||||
cd $HOME
|
||||
git clone https://github.com/dogecoin/dogecoin.git
|
||||
git checkout <branchname>
|
||||
```
|
||||
... where `<branchname>` is the name of the branch you want to build, such as
|
||||
"1.14.7-dev" for the unstable branch or "master" for the most recent stable
|
||||
release.
|
||||
@ -85,13 +85,13 @@ release.
|
||||
## Building for 64-bit Windows
|
||||
|
||||
To build executables for Windows 64-bit, install the following dependencies:
|
||||
|
||||
sudo apt-get install g++-mingw-w64-x86-64
|
||||
|
||||
```bash
|
||||
sudo apt-get install g++-mingw-w64-x86-64
|
||||
```
|
||||
For Ubuntu 20.04, set the default mingw32 g++ compiler option to posix:
|
||||
|
||||
sudo update-alternatives --config x86_64-w64-mingw32-g++
|
||||
|
||||
```bash
|
||||
sudo update-alternatives --config x86_64-w64-mingw32-g++
|
||||
```
|
||||
...Choose the "posix" (vs 'auto' or 'win32') option, and continue.
|
||||
|
||||
Note that for WSL v1 the Dogecoin Core source path MUST be somewhere in the default mount file system, for
|
||||
@ -101,33 +101,33 @@ If this is not the case the dependency autoconf scripts will fail (silently.)
|
||||
This means you cannot use a directory that is located directly on the host Windows file system to perform the build.
|
||||
|
||||
To identify your version of WSL, run the command:
|
||||
|
||||
wsl -l -v
|
||||
|
||||
```powershell
|
||||
wsl -l -v
|
||||
```
|
||||
If using WSL 1, you'll need to turn off WSL Support for Win32 applications temporarily, or you will get ABI errors and format errors for some .o files.
|
||||
|
||||
If using WSL 1 then build using:
|
||||
|
||||
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var
|
||||
sudo bash -c "echo 0 > /proc/sys/fs/binfmt_misc/status" # Temporarily Disable WSL support for Win32 applications.
|
||||
cd depends
|
||||
make HOST=x86_64-w64-mingw32
|
||||
cd ..
|
||||
./autogen.sh # not required when building from release tarball
|
||||
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/
|
||||
make
|
||||
sudo bash -c "echo 1 > /proc/sys/fs/binfmt_misc/status" # Re-Enable WSL support for Win32 applications.
|
||||
|
||||
```bash
|
||||
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var
|
||||
sudo bash -c "echo 0 > /proc/sys/fs/binfmt_misc/status" # Temporarily Disable WSL support for Win32 applications.
|
||||
cd depends
|
||||
make HOST=x86_64-w64-mingw32
|
||||
cd ..
|
||||
./autogen.sh # not required when building from release tarball
|
||||
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/
|
||||
make
|
||||
sudo bash -c "echo 1 > /proc/sys/fs/binfmt_misc/status" # Re-Enable WSL support for Win32 applications.
|
||||
```
|
||||
If using WSL 2 then you should be able to build just with:
|
||||
|
||||
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var
|
||||
cd depends
|
||||
make HOST=x86_64-w64-mingw32
|
||||
cd ..
|
||||
./autogen.sh # not required when building from release tarball
|
||||
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/
|
||||
make
|
||||
|
||||
```bash
|
||||
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var
|
||||
cd depends
|
||||
make HOST=x86_64-w64-mingw32
|
||||
cd ..
|
||||
./autogen.sh # not required when building from release tarball
|
||||
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/
|
||||
make
|
||||
```
|
||||
In either case, be aware that if the first `make` invocation fails, you will see further errors during the `./configure` and second `make` stages. Please
|
||||
report any errors with this in mind.
|
||||
|
||||
@ -136,22 +136,22 @@ Also be careful using the `-j` flag with any `make` command. People have reporte
|
||||
## Building for 32-bit Windows
|
||||
|
||||
To build executables for Windows 32-bit, install the following dependencies:
|
||||
|
||||
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev
|
||||
|
||||
```bash
|
||||
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev
|
||||
```
|
||||
Ensure that this toolchain can build for `posix` (else you may have compilation errors for Dogecoin's dependencies):
|
||||
|
||||
sudo update-alternatives --config i686-w64-mingw32-g++
|
||||
|
||||
```bash
|
||||
sudo update-alternatives --config i686-w64-mingw32-g++
|
||||
```
|
||||
Choose the `posix` option (instead of `auto` or `win32`), and continue. Then build using:
|
||||
|
||||
cd depends
|
||||
make HOST=i686-w64-mingw32
|
||||
cd ..
|
||||
./autogen.sh # not required when building from tarball
|
||||
CONFIG_SITE=$PWD/depends/i686-w64-mingw32/share/config.site ./configure --prefix=/
|
||||
make
|
||||
|
||||
```bash
|
||||
cd depends
|
||||
make HOST=i686-w64-mingw32
|
||||
cd ..
|
||||
./autogen.sh # not required when building from tarball
|
||||
CONFIG_SITE=$PWD/depends/i686-w64-mingw32/share/config.site ./configure --prefix=/
|
||||
make
|
||||
```
|
||||
## Depends system
|
||||
|
||||
For further documentation on the depends system see [README.md](../depends/README.md) in the `depends/` directory.
|
||||
@ -163,5 +163,6 @@ After building using the Windows subsystem it can be useful to copy the compiled
|
||||
executables to a directory on the windows drive in the same directory structure
|
||||
as they appear in the release `.zip` archive. This can be done in the following
|
||||
way. This will install to `c:\workspace\dogecoin`, for example:
|
||||
|
||||
make install DESTDIR=/mnt/c/workspace/dogecoin
|
||||
```bash
|
||||
make install DESTDIR=/mnt/c/workspace/dogecoin
|
||||
```
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user