Improve compilation error on 32-bit (#2424)

## Issue Addressed

Closes #1661

## Proposed Changes

Add a dummy package called `target_check` which gets compiled early in the build and fails if the target is 32-bit

## Additional Info

You can test the efficacy of this check with:

```
cross build --release --manifest-path lighthouse/Cargo.toml --target i686-unknown-linux-gnu
```

In which case this compilation error is shown:

```
error: Lighthouse requires a 64-bit CPU and operating system
  --> common/target_check/src/lib.rs:8:1
   |
8  | / assert_cfg!(
9  | |     target_pointer_width = "64",
10 | |     "Lighthouse requires a 64-bit CPU and operating system",
11 | | );
   | |__^
```
This commit is contained in:
Michael Sproul
2021-06-30 04:56:22 +00:00
parent 9461ac2d50
commit 379664a648
5 changed files with 36 additions and 0 deletions

10
Cargo.lock generated
View File

@@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "account_manager"
version = "0.3.5"
@@ -3756,6 +3758,7 @@ dependencies = [
"slog-async",
"slog-term",
"sloggers",
"target_check",
"task_executor",
"tempfile",
"tokio 1.5.0",
@@ -6331,6 +6334,13 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "target_check"
version = "0.1.0"
dependencies = [
"static_assertions",
]
[[package]]
name = "target_info"
version = "0.1.0"