From c500d0e3fa893f066b7c990286744908920217ef Mon Sep 17 00:00:00 2001 From: firstcryptoman Date: Tue, 25 Jun 2024 19:57:36 +0400 Subject: [PATCH 1/4] Updated macOS build instructions to include dependency setup --- doc/build-macos.md | 88 +++++++++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 37 deletions(-) diff --git a/doc/build-macos.md b/doc/build-macos.md index 9def34e759..de172db0ed 100644 --- a/doc/build-macos.md +++ b/doc/build-macos.md @@ -3,24 +3,29 @@ macOS Build Instructions and Notes The commands in this guide should be executed in a Terminal application. The built-in one is located in `/Applications/Utilities/Terminal.app`. -Preparation ------------ -Install the macOS command line tools: +## Preparation +1. **Install macOS Command Line Tools** (if not already installed): + ```bash + xcode-select --install + ``` + When the popup appears, click `Install`. -`xcode-select --install` -When the popup appears, click `Install`. +2. **Install Homebrew** (if not already installed): + ```bash + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + ``` -Then install [Homebrew](http://brew.sh). +## Dependencies +Install the required dependencies using Homebrew: +```bash +brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode python-setuptools m4 +``` -Dependencies ----------------------- - - brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode In case you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG - brew install librsvg + brew install librsvg Berkley DB ------------------------ @@ -29,30 +34,40 @@ It is recommended to use Berkeley DB 4.8. If you have to build it yourself, you from the root of the repository. -Note: You only need Berkeley DB if the wallet is enabled (see Disable-wallet mode). - - -Build Firo Core ------------------------- -1. Build Firo-core: - - Configure and build the headless Firo binaries as well as the GUI (if Qt is found). - - In case you want to build the disk image with `make deploy` (.dmg / optional), by passing `--with-gui` to configure. - - You can disable the GUI build by passing `--without-gui` to configure. +*Note*: You only need Berkeley DB if the wallet is enabled (see Disable-wallet mode). + +#### Download the Source +Before building, download the Firo source code: +```bash +git clone https://github.com/firoorg/firo +cd firo +``` + +#### Build Firo Core +1. **Prepare the build environment**: + ```bash + cd depends + make + cd .. + ``` + +2. **Configure and build Firo-core**: + ```bash + ./autogen.sh + ./configure --prefix=`pwd`/depends/`depends/config.guess` + make + ``` + +3. (optional) **It is recommended to build and run the unit tests**: + + ```bash + ./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-tests + make check + ``` - ./autogen.sh - ./configure - make +4. (optional)**You can also create a .dmg that contains the .app bundle (optional)**: -2. It is recommended to build and run the unit tests: - - ` make check` - -3. You can also create a .dmg that contains the .app bundle (optional): - - ` make deploy` + make deploy Running @@ -86,7 +101,7 @@ Download and install the community edition of [Qt Creator](https://www.qt.io/dow Uncheck everything except Qt Creator during the installation process. 1. Make sure you installed everything through Homebrew mentioned above -2. Do a proper `./configure --enable-debug` +2. Do a proper ``` ./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-debug ``` 3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project 4. Enter "bitcoin-qt" as project name, enter `src/qt` as location 5. Leave the file selection as it is @@ -99,7 +114,6 @@ Uncheck everything except Qt Creator during the installation process. Notes ----- -* Tested on macOS 10.11 through 10.14 on 64-bit Intel processors only. - -* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/bitcoin/bitcoin/issues/7714) +* Tested on macOS 10.11 through 10.14 on 64-bit Intel processors, and on macOS 14.5 on an M2 chip. +* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/bitcoin/bitcoin/issues/7714) \ No newline at end of file From 02d0e859f56a18c7843f003e314d6ffddfe5599e Mon Sep 17 00:00:00 2001 From: firstcryptoman <86235719+firstcryptoman@users.noreply.github.com> Date: Tue, 25 Jun 2024 20:24:26 +0400 Subject: [PATCH 2/4] Update build-macos.md --- doc/build-macos.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/doc/build-macos.md b/doc/build-macos.md index de172db0ed..4d11f5ff12 100644 --- a/doc/build-macos.md +++ b/doc/build-macos.md @@ -4,14 +4,14 @@ The commands in this guide should be executed in a Terminal application. The built-in one is located in `/Applications/Utilities/Terminal.app`. ## Preparation -1. **Install macOS Command Line Tools** (if not already installed): +1. Install macOS Command Line Tools (if not already installed): ```bash xcode-select --install ``` When the popup appears, click `Install`. -2. **Install Homebrew** (if not already installed): +2. Install Homebrew (if not already installed): ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` @@ -101,7 +101,10 @@ Download and install the community edition of [Qt Creator](https://www.qt.io/dow Uncheck everything except Qt Creator during the installation process. 1. Make sure you installed everything through Homebrew mentioned above -2. Do a proper ``` ./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-debug ``` +2. Properly configure the build environment: + ```bash + ./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-debug + ``` 3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project 4. Enter "bitcoin-qt" as project name, enter `src/qt` as location 5. Leave the file selection as it is @@ -116,4 +119,4 @@ Notes * Tested on macOS 10.11 through 10.14 on 64-bit Intel processors, and on macOS 14.5 on an M2 chip. -* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/bitcoin/bitcoin/issues/7714) \ No newline at end of file +* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/bitcoin/bitcoin/issues/7714) From 4f77176011985af9d61ad457a7114de72d8d3f01 Mon Sep 17 00:00:00 2001 From: firstcryptoman Date: Tue, 2 Jul 2024 17:46:36 +0400 Subject: [PATCH 3/4] Reorganized macOS build instructions to enhance clarity --- doc/build-macos.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/doc/build-macos.md b/doc/build-macos.md index 4d11f5ff12..39084e57f7 100644 --- a/doc/build-macos.md +++ b/doc/build-macos.md @@ -16,26 +16,29 @@ The built-in one is located in `/Applications/Utilities/Terminal.app`. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` + ## Dependencies Install the required dependencies using Homebrew: ```bash brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode python-setuptools m4 ``` +In case you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG: +```bash +brew install librsvg +``` -In case you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG - - brew install librsvg - -Berkley DB ------------------------- +#### Berkeley DB It is recommended to use Berkeley DB 4.8. If you have to build it yourself, you can use [the installation script included in contrib/](https://github.com/bitcoin/bitcoin/blob/master/contrib/install_db4.sh) like so: - ./contrib/install_db4.sh . - +```bash +./contrib/install_db4.sh . +``` from the root of the repository. *Note*: You only need Berkeley DB if the wallet is enabled (see Disable-wallet mode). +## Build Instructions + #### Download the Source Before building, download the Firo source code: ```bash @@ -59,15 +62,15 @@ cd firo ``` 3. (optional) **It is recommended to build and run the unit tests**: - ```bash ./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-tests make check ``` -4. (optional)**You can also create a .dmg that contains the .app bundle (optional)**: - - make deploy +4. (optional) **You can also create a .dmg that contains the .app bundle**: + ```bash + make deploy + ``` Running From d9b865e50ab660183a525cb8113ce20646af280a Mon Sep 17 00:00:00 2001 From: firstcryptoman Date: Mon, 19 Aug 2024 13:05:02 +0400 Subject: [PATCH 4/4] Updated macOS build instructions to include troubleshooting steps for m4 detection issues. --- doc/build-macos.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/doc/build-macos.md b/doc/build-macos.md index 39084e57f7..7f6ca9b441 100644 --- a/doc/build-macos.md +++ b/doc/build-macos.md @@ -27,6 +27,23 @@ In case you want to build the disk image with `make deploy` (.dmg / optional), y ```bash brew install librsvg ``` +### Ensure `m4` is Found +After installing `m4`, ensure that it is correctly linked and available in your PATH: +```bash +brew link m4 +``` + +You can verify that `m4` is properly installed by running: +```bash +which m4 +``` +This should output the path to the `m4` binary, typically `/opt/homebrew/bin/m4` on Apple Silicon Macs. + +### Troubleshooting `m4` Issues +If `m4` is not found even after installation, and running `brew link m4` does not resolve the issue, you may need to install Xcode to ensure that `m4` is recognized: + +1. Install Xcode from the Mac App Store. +2. Once installed, open Xcode at least once to complete the setup. #### Berkeley DB It is recommended to use Berkeley DB 4.8. If you have to build it yourself, you can use [the installation script included in contrib/](https://github.com/bitcoin/bitcoin/blob/master/contrib/install_db4.sh) like so: