Skip to content
This repository was archived by the owner on Sep 26, 2023. It is now read-only.

Update dependencies#34

Merged
expressvpn-pang-t merged 5 commits intomainfrom
update-deps
Apr 27, 2023
Merged

Update dependencies#34
expressvpn-pang-t merged 5 commits intomainfrom
update-deps

Conversation

@expressvpn-pang-t
Copy link
Copy Markdown
Contributor

@expressvpn-pang-t expressvpn-pang-t commented Apr 24, 2023

Bump the following:

  • Rust 1.69
  • liboqs. Note that the latest release is 0.7.2 (released last year) but the fix for the issue we're experiencing is fairly recent.
  • Dependencies (cargo outdated states only bindgen 0.64 -> 0.65)

On a machine with the following specs:

  • Processor: Apple M1
  • earthly version v0.7.4 a1c46ca2b75f21a4948fd53b5464de5a2bd90372 darwin/arm64; macOS 13.1 homebrew
  • Rustc version: 1.67.1 (what's defined in the Earthfile)

Running earthly +build-dev results in build-logs.txt on the machine. It's discovered (later on) that this is because colrm must now be present on the build machine. This change seems to be a result of the bump to WolfSSL 5.6.0.

Bindgen removed `Bindings::emit_warnings` in 0.65 [0] and rolled it
into the `bindgen-cli` interface under the `--emit-diagnostics` flag,
so update `build.rs` accordingly.

Also resolve deprecation warning
```
warning: use of deprecated method `bindgen::options::<impl bindgen::Builder>::rustfmt_bindings`
   --> build.rs:163:10
    |
163 |         .rustfmt_bindings(true);
    |          ^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default
```

[0]: https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md#0650
At some point the C-side of the liboqs build started emitting warnings
of the following nature:

```
error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
OQS_KEM *OQS_KEM_bike_l3_new() {
                            ^
                             void
```

The fix is currently in an unreleased branch in `liboqs-rust`, so pin
to a known good commit.
Bumping WolfSSL to 5.6.0 now causes `./configure` to require `colrm`
to be present on the machine. Install it as a dependency.
- `-qq` implies `-y`, so `-qqy` is redundant.
- Append `--no-install-recommends` to reduce the size and time spent
  installing dependencies.
@expressvpn-pang-t expressvpn-pang-t marked this pull request as ready for review April 26, 2023 08:09
@expressvpn-pang-t expressvpn-pang-t changed the title [DO NOT MERGE] Update dependencies Update dependencies Apr 26, 2023
@expressvpn-pang-t expressvpn-pang-t merged commit 2f8abf8 into main Apr 27, 2023
@expressvpn-pang-t expressvpn-pang-t deleted the update-deps branch April 27, 2023 06:21
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compiling fails when encountering new compiler warnings

2 participants