brew: use latest protobuf

This commit is contained in:
tobtoht 2025-01-16 15:54:29 +01:00
parent 1179269478
commit 4cf19ec245
No known key found for this signature in database
GPG Key ID: E45B10DD027D2472
3 changed files with 8 additions and 30 deletions

View File

@ -44,8 +44,7 @@ jobs:
restore-keys: ccache-${{ runner.os }}-build-
- name: install dependencies
run: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq miniupnpc expat libunwind-headers protobuf@21 ccache
brew link protobuf@21 boost
HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq miniupnpc expat libunwind-headers protobuf ccache
- name: build
run: |
${{env.CCACHE_SETTINGS}}

View File

@ -28,5 +28,5 @@ brew "doxygen"
brew "graphviz"
brew "libunwind-headers"
brew "xz"
brew "protobuf@21", link: true
brew "protobuf"
brew "libusb"

View File

@ -15,10 +15,9 @@ Please, refer to [monero readme](https://github.com/trezor/trezor-firmware/blob/
## Dependencies
Trezor uses [Protobuf](https://protobuf.dev/) library. Monero is now compiled with C++ 17 by default.
Protobuf v21 is tested, older versions are not guaranteed to work. Note that Protobuf v23+ requires C++ 17.
Trezor uses [Protobuf](https://protobuf.dev/) library.
If you are getting Trezor compilation errors, it may be caused by abseil (protobuf dependency) not being compiled with C++17.
Monero is now compiled with C++17 by default. If you are getting Trezor compilation errors, it may be caused by abseil (protobuf dependency) not being compiled with C++17.
To fix this try installing protobuf from sources:
```shell
@ -29,42 +28,22 @@ cmake --build .
sudo make install
```
If Monero is compiled with C++14, Protobuf v21 is the latest compatible protobuf version for C++ 14.
If you want to compile Monero with Trezor support with C++14, please make sure the Protobuf v21 is installed.
More about this limitation: [PR #8752](https://github.com/monero-project/monero/pull/8752),
[1](https://github.com/monero-project/monero/pull/8752#discussion_r1246174755), [2](https://github.com/monero-project/monero/pull/8752#discussion_r1246480393)
### OSX
To build with installed, but not linked Protobuf v21:
### macOS
```bash
CMAKE_PREFIX_PATH=$(find /opt/homebrew/Cellar/protobuf@21 -maxdepth 1 -type d -name "21.*" -print -quit) \
make release
```
or to install and link as a default protobuf version:
```bash
# Either install all requirements as
brew update && brew bundle --file=contrib/brew/Brewfile
# or install protobufv21 specifically
brew install protobuf@21 && brew link protobuf@21
```
### MSYS32
```bash
curl -O https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-protobuf-c-1.4.1-1-any.pkg.tar.zst
curl -O https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-protobuf-21.9-1-any.pkg.tar.zst
pacman --noconfirm -U mingw-w64-x86_64-protobuf-c-1.4.1-1-any.pkg.tar.zst mingw-w64-x86_64-protobuf-21.9-1-any.pkg.tar.zst
pacman -S mingw-w64-x86_64-protobuf
```
### Other systems
- install Protobuf v21
- point `CMAKE_PREFIX_PATH` environment variable to Protobuf v21 installation.
- install Protobuf
- point `CMAKE_PREFIX_PATH` environment variable to Protobuf installation.
## Troubleshooting