Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update macOS Build Instructions for Dependency and Configuration IssuesMac os build fix #1463

Merged
merged 5 commits into from
Nov 6, 2024
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 63 additions & 43 deletions doc/build-macos.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,56 +3,74 @@ 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)"
```
levonpetrosyan93 marked this conversation as resolved.
Show resolved Hide resolved

Then install [Homebrew](http://brew.sh).

Dependencies
----------------------
## 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
```
levonpetrosyan93 marked this conversation as resolved.
Show resolved Hide resolved

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:
```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 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).

## Build Instructions

#### 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

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`
4. (optional) **You can also create a .dmg that contains the .app bundle**:
```bash
make deploy
```


Running
Expand Down Expand Up @@ -86,7 +104,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 --enable-debug`
2. Properly configure the build environment:
```bash
./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-debug
```
levonpetrosyan93 marked this conversation as resolved.
Show resolved Hide resolved
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
Expand All @@ -99,7 +120,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.
* 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)