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

[rust] Update ring and required crates for riscv support #13194

Closed
wants to merge 1 commit into from

Conversation

jsmolic
Copy link

@jsmolic jsmolic commented Nov 23, 2023

Cargo.lock: Update ring and required crates for riscv support

Description

Selenium-webdriver fails to compile on RISC-V due to outdated version of ring used (https://bugs.gentoo.org/918098).
Ring has added RISC-V support in
briansmith/ring#1627, so update ring and additional necessary crates to allow us to build on RISC-V. This change was compile tested inside a virtual machine.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@CLAassistant
Copy link

CLAassistant commented Nov 23, 2023

CLA assistant check
All committers have signed the CLA.

@jsmolic jsmolic changed the title Cargo.lock: Update ring and required crates for riscv support [rust] Update ring and required crates for riscv support Nov 23, 2023
Selenium-webdriver fails to compile on RISC-V due to outdated version of ring
used (https://bugs.gentoo.org/918098).
Ring has added RISC-V support in
briansmith/ring#1627, so update ring and
additional necessary crates to allow us to build on RISC-V. This change
was compile tested inside a virtual machine.
@titusfortner
Copy link
Member

The lockfile should be auto generated, don't we need to change something in another file to ensure this is used?

Copy link
Member

@bonigarcia bonigarcia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, the Cargo.lock is automatically updated by Cargo when there is some change in Cargo.toml. So, I don't see the point of updating the lock file individually. In summary, I think this PR is incomplete or incorrect.

@jsmolic
Copy link
Author

jsmolic commented Nov 28, 2023

I understand now, since ring is indirect dependency here it needs to be fixed in the source of package which is actually depending on ring. Apologies for jumping to conclusion that it should be changed in selenium, I will close this PR.
Thank you for your input!

@jsmolic jsmolic closed this Nov 28, 2023
@jsmolic jsmolic deleted the riscv branch November 28, 2023 15:36
@titusfortner
Copy link
Member

I suspect we can require a different version of a transitive dependency, depending on how it is set up? It just needs to be in a different file.

@jsmolic
Copy link
Author

jsmolic commented Nov 29, 2023

The dependency chain goes like this: selenium -> reqwest -> hyper-rustls -> rustls -> ring and the culprit seems to be hyper-rustls; it doesn't use the latest version of rustls which pulls in the correct version of ring that compiles on risc-v.
Is there any way we can pin the rustls version?

@titusfortner
Copy link
Member

@AutomatedTester or @bonigarcia can you comment on how transitive rust dependencies work?

@bonigarcia
Copy link
Member

AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 24, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 25, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 25, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 25, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
AlexandreTunstall added a commit to AlexandreTunstall/nixos-riscv that referenced this pull request Apr 25, 2024
The test suites for gbenchmark, hypothesis, libopus, sh, and tornado
time out.

httplib2's test suite indirectly depends on selenium, which doesn't
build on RISC-V.
SeleniumHQ/selenium#13194

The other disabled test suites fail for various cryptic reasons.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants