You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Flutter: 3.38.5 → 3.38.1 (all platforms; confirmed by libflutter.so identity match
during reproducible build verification)
- Rust: add 1.71.0 to all rustup install lines; required by
crypto_plugins/frostdart/scripts/linux/build_all.sh which hardcodes cargo +1.71.0
- Ubuntu 24.04 meson: replace pipx with python3-venv approach; pipx cannot install
library-only packages (markupsafe, jinja2, etc.) and will fail; setuptools added
because Python 3.12 removed distutils which meson needs for GObject introspection
- Linux desktop deps: add rsync; required by
crypto_plugins/flutter_libmwc/scripts/linux/build_all.sh
Fixes found during WalletScrutiny reproducible build verification (issue #1399).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/building.md
+67-34Lines changed: 67 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Here you will find instructions on how to install the necessary tools for buildi
14
14
The following instructions are for building and running on a Linux host. Alternatively, see the [Mac](#mac-host) and/or [Windows](#windows-host) section. This entire section (except for the Android Studio section) needs to be completed in WSL if building on a Windows host.
15
15
16
16
### Flutter
17
-
Install Flutter 3.38.5 by [following their guide](https://docs.flutter.dev/get-started/install/linux/desktop?tab=download#install-the-flutter-sdk). Run `flutter doctor` in a terminal to confirm its installation.
17
+
Install Flutter 3.38.1 by [following their guide](https://docs.flutter.dev/get-started/install/linux/desktop?tab=download#install-the-flutter-sdk). Run `flutter doctor` in a terminal to confirm its installation.
18
18
19
19
### Android Studio
20
20
Install Android Studio. Follow instructions here [https://developer.android.com/studio/install#linux](https://developer.android.com/studio/install#linux) or install via snap:
Install [Rust](https://www.rust-lang.org/tools/install) via [rustup.rs](https://rustup.rs), the required Rust toolchains, and `cargo-ndk` with command:
62
53
```
63
54
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Build the secure storage dependencies in order to target Linux (not needed for Windows or other platforms):
@@ -160,13 +150,21 @@ cd scripts/windows
160
150
./deps.sh
161
151
```
162
152
163
-
install go in WSL [https://go.dev/doc/install](https://go.dev/doc/install) (follow linux instructions) and ensure you have `x86_64-w64-mingw32-gcc`
153
+
Upgrade the version of cmake >= 3.31.6, the default version of ubuntu 24.04 (3.28.1) will be too low to build libepiccash.
154
+
You can use pip to install a specific version
155
+
```
156
+
sudo apt remove cmake
157
+
pip install cmake==3.31.6
158
+
```
159
+
160
+
install go in WSL [https://go.dev/doc/install](https://go.dev/doc/install) (follow linux instructions) and ensure you have `mingw-w64` package installed to get the `x86_64-w64-mingw32-gcc` compiler.
161
+
164
162
go version should be at least 1.24
165
163
166
-
and use `scripts/build_app.sh` to build plugins:
164
+
and use `scripts/build_app.sh` to build plugins: (see the [Build script section](#build-script-build_appsh) to understand the arguments)
167
165
```
168
166
cd ..
169
-
./build_app.sh -a stack_wallet -p windows -v 2.1.0 -b 210
167
+
./build_app.sh -a stack_wallet -p windows -v 2.4.4 -b 301
170
168
```
171
169
172
170
### Running
@@ -213,7 +211,7 @@ Download and install [Rust](https://www.rust-lang.org/tools/install). [Rustup](
213
211
```
214
212
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Optionally download [Android Studio](https://developer.android.com/studio) as an IDE and activate its Dart and Flutter plugins. VS Code may work as an alternative, but this is not recommended.
224
222
225
223
### Flutter
226
-
Install 3.38.5 on your Mac host by [following their guide](https://docs.flutter.dev/install/manual). Run `flutter doctor` in a terminal to confirm its installation.
224
+
Install Flutter 3.38.1 on your Mac host by [following their guide](https://docs.flutter.dev/install/manual). Run `flutter doctor` in a terminal to confirm its installation.
227
225
228
226
### Build plugins and configure
229
227
#### Building plugins for iOS
@@ -266,17 +264,33 @@ flutter run macos
266
264
## Windows host
267
265
268
266
### Visual Studio
269
-
Visual Studio is required for Windows development with the Flutter SDK. Download it at https://visualstudio.microsoft.com/downloads/ and install the "Desktop development with C++", "Linux development with C++", and "Visual C++ build tools" workloads. You may also need the Windows 10, 11, and/or Universal SDK workloads depending on your Windows version.
267
+
Visual Studio 2022 is required for Windows development with the Flutter SDK. Download it at https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-history and install the "Desktop development with C++", "Linux development with C++", and "Visual C++ build tools" workloads. You may also need the Windows 10, 11, and/or Universal SDK workloads depending on your Windows version.
270
268
271
269
### Build plugins in WSL2
272
270
Set up Ubuntu 24.04 in WSL2. Follow the entire Linux host section in the WSL2 Ubuntu 24.04 host to get set up to build. The Android Studio section may be skipped in WSL (it's only needed on the Windows host).
273
271
274
272
Install the following libraries:
275
273
```
276
-
sudo apt-get install libgtk2.0-dev
274
+
sudo apt-get install libgtk2.0-dev nasm mingw-w64
275
+
```
276
+
277
+
The WSL2 host may optionally be navigated to the `stack_wallet` repository on the Windows host in order to build the plugins in-place and skip the next section in which you copy the `dll`s from WSL2 to Windows.
278
+
279
+
In this case, you need to enable "metadata" in your wsl setup to be able to modify files on your Windows filesystem.
The WSL2 host may optionally be navigated to the `stack_wallet` repository on the Windows host in order to build the plugins in-place and skip the next section in which you copy the `dll`s from WSL2 to Windows. Then build windows `dll` libraries by running the following script on the WSL2 Ubuntu 20.04 host:
293
+
Then build windows `dll` libraries by running the following script on the WSL2 Ubuntu 24.04 host:
280
294
281
295
-`stack_wallet/scripts/windows/build_all.sh`
282
296
@@ -289,12 +303,12 @@ If the DLLs were built on the WSL filesystem instead of on Windows, copy the res
289
303
Frostdart will be built by the Windows host later.
290
304
291
305
### Install Flutter on Windows host
292
-
Install Flutter 3.38.5 on your Windows host (not in WSL2) by [following their guide](https://docs.flutter.dev/install/manual). Run `flutter doctor` in PowerShell to confirm its installation.
306
+
Install Flutter 3.38.1 on your Windows host (not in WSL2) by [following their guide](https://docs.flutter.dev/install/manual). Run `flutter doctor` in PowerShell to confirm its installation.
293
307
294
308
### Rust
295
309
Install [Rust](https://www.rust-lang.org/tools/install) on the Windows host (not in WSL2). Download the installer from [rustup.rs](https://rustup.rs), make sure it works on the commandline (you may need to open a new terminal), and install the following versions:
296
310
```
297
-
rustup install 1.89.0 1.85.1 1.81.0
311
+
rustup install 1.89.0 1.85.1 1.81.0 1.71.0
298
312
rustup default 1.89.0
299
313
cargo install cargo-ndk
300
314
```
@@ -307,11 +321,27 @@ Enable Developer Mode for symlink support,
307
321
start ms-settings:developers
308
322
```
309
323
310
-
You may need to install NuGet and CppWinRT / C++/WinRT SDKs version `2.0.210806.1`:
or [download the package](https://www.nuget.org/packages/Microsoft.Windows.CppWinRT/2.0.210806.1) and [manually install it](https://github.com/Baseflow/flutter-permission-handler/issues/1025#issuecomment-1518576722) by placing it in `flutter/bin` with [nuget.exe](https://dist.nuget.org/win-x86-commandline/latest/nuget.exe) and installing by running `nuget install Microsoft.Windows.CppWinRT -Version 2.0.210806.1` in the root `stack_wallet` folder.
316
346
<!-- TODO: script this NuGet and WinCppRT installation -->
317
347
@@ -320,16 +350,18 @@ or [download the package](https://www.nuget.org/packages/Microsoft.Windows.CppWi
320
350
Certain test wallet parameter and API key template files must be created in order to run Stack Wallet on Windows. These can be created by script using PowerShell on the Windows host as in
0 commit comments