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

MDBX build failing on Windows 2022 #3028

Closed
paulhauner opened this issue Feb 17, 2022 · 0 comments
Closed

MDBX build failing on Windows 2022 #3028

paulhauner opened this issue Feb 17, 2022 · 0 comments

Comments

@paulhauner
Copy link
Member

Description

It appears there's an issue with mdbx-sys building on the new Windows 2022 Github Actions runners:

2022-02-17T00:48:55.9460139Z   C:\Users\runneradmin\.cargo\registry\src\git.luolix.top-1ecc6299db9ec823\mdbx-sys-0.11.4-git.20210105\libmdbx\mdbx.c(9214,37): fatal error C1003: error count exceeds 100; stopping compilation [D:\a\lighthouse\lighthouse\target\release\build\mdbx-sys-010ef5037f9347cb\out\build\mdbx-static.vcxproj]
2022-02-17T00:48:56.0667287Z 
2022-02-17T00:48:56.1080669Z   --- stderr
2022-02-17T00:48:56.1286698Z   CMake Warning:
2022-02-17T00:48:56.1288854Z     Manually-specified variables were not used by the project:
2022-02-17T00:48:56.1289438Z 
2022-02-17T00:48:56.1560176Z       CMAKE_ASM_FLAGS
2022-02-17T00:48:56.1561099Z       CMAKE_ASM_FLAGS_RELEASE
2022-02-17T00:48:56.1561698Z       CMAKE_CXX_FLAGS
2022-02-17T00:48:56.1912442Z       HAVE_LIBM
2022-02-17T00:48:56.1913604Z 
2022-02-17T00:48:56.1919053Z 
2022-02-17T00:48:56.2809550Z   thread 'main' panicked at '
2022-02-17T00:48:56.2811039Z   command did not execute successfully, got: exit code: 1
2022-02-17T00:48:56.2811696Z 
2022-02-17T00:48:56.3500071Z   build script failed, must exit now', C:\Users\runneradmin\.cargo\registry\src\git.luolix.top-1ecc6299db9ec823\cmake-0.1.48\src\lib.rs:975:5
2022-02-17T00:48:56.3502226Z   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2022-02-17T00:48:56.3503074Z warning: build failed, waiting for other jobs to finish...
2022-02-17T00:48:59.2129148Z error: build failed
2022-02-17T00:48:59.2238702Z make: *** [Makefile:79: test-release] Error 101
2022-02-17T00:48:59.7070942Z ##[error]Process completed with exit code 1.
2022-02-17T00:48:59.7389136Z Cleaning up orphan processes
2022-02-17T00:48:59.7722152Z Terminate orphan process: pid (8700) (vctip)
2022-02-17T00:48:59.7789078Z Terminate orphan process: pid (7476) (MSBuild)
2022-02-17T00:48:59.7887237Z Terminate orphan process: pid (1572) (conhost)

Direct link to logs <-- I assume github will purge this at some point.

Over in #3024 I'm going to revert the runner back to Windows 2019. We should come back and ensure compat with Windows 2022, though.

Solutions

It might be related to this: erthink/libmdbx#265

I notice that the Rust mdbx-sys is a few versions behind the main libmdbx repo. Perhaps catching up to the latest version would help.

@paulhauner paulhauner changed the title Build failing on Windows 2022 MDBX build failing on Windows 2022 Feb 17, 2022
bors bot pushed a commit that referenced this issue Apr 3, 2022
## Proposed Changes

I did some gardening 🌳 in our dependency tree:

- Remove duplicate versions of `warp` (git vs patch)
- Remove duplicate versions of lots of small deps: `cpufeatures`, `ethabi`, `ethereum-types`, `bitvec`, `nix`, `libsecp256k1`.
- Update MDBX (should resolve #3028). I tested and Lighthouse compiles on Windows 11 now.
- Restore `psutil` back to upstream
- Make some progress updating everything to rand 0.8. There are a few crates stuck on 0.7.

Hopefully this puts us on a better footing for future `cargo audit` issues, and improves compile times slightly.

## Additional Info

Some crates are held back by issues with `zeroize`. libp2p-noise depends on [`chacha20poly1305`](https://crates.io/crates/chacha20poly1305) which depends on zeroize < v1.5, and we can only have one version of zeroize because it's post 1.0 (see rust-lang/cargo#6584). The latest version of `zeroize` is v1.5.4, which is used by the new versions of many other crates (e.g. `num-bigint-dig`). Once a new version of chacha20poly1305 is released we can update libp2p-noise and upgrade everything to the latest `zeroize` version.

I've also opened a PR to `blst` related to zeroize: supranational/blst#111
paulhauner pushed a commit to paulhauner/lighthouse that referenced this issue May 6, 2022
## Proposed Changes

I did some gardening 🌳 in our dependency tree:

- Remove duplicate versions of `warp` (git vs patch)
- Remove duplicate versions of lots of small deps: `cpufeatures`, `ethabi`, `ethereum-types`, `bitvec`, `nix`, `libsecp256k1`.
- Update MDBX (should resolve sigp#3028). I tested and Lighthouse compiles on Windows 11 now.
- Restore `psutil` back to upstream
- Make some progress updating everything to rand 0.8. There are a few crates stuck on 0.7.

Hopefully this puts us on a better footing for future `cargo audit` issues, and improves compile times slightly.

## Additional Info

Some crates are held back by issues with `zeroize`. libp2p-noise depends on [`chacha20poly1305`](https://crates.io/crates/chacha20poly1305) which depends on zeroize < v1.5, and we can only have one version of zeroize because it's post 1.0 (see rust-lang/cargo#6584). The latest version of `zeroize` is v1.5.4, which is used by the new versions of many other crates (e.g. `num-bigint-dig`). Once a new version of chacha20poly1305 is released we can update libp2p-noise and upgrade everything to the latest `zeroize` version.

I've also opened a PR to `blst` related to zeroize: supranational/blst#111
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant