rust-lang / rust-lang/rust

Cross-build of rust 1.91.0 for armv6-unknown-netbsd-eabihf fails with "found possibly newer version of crate"

Open
#148,464 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug needs-triage T-bootstrap
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Summary

While the cross-build on NetBSD/amd64 10.1 for armv7-unknown-netbsd-eabihf succeeded after applying the workaround from issue #148450 succeded, the build for armv6-unknown-netbsd-eabihf fails with a rather obtuse and new to me error message.

Command used
python3.12 ./x.py dist -j 40
Expected behaviour

I expected the build to succeed without any error message

Actual behaviour

The build failed with

   Compiling potential_utf v0.1.3
   Compiling gix-prompt v0.11.1
   Compiling gix-hash v0.19.0
   Compiling gix-fs v0.16.1
   Compiling gix-glob v0.21.0
error[E0460]: found possibly newer version of crate `bstr` which `gix_config_value` depends on
  --> /usr/pkgsrc/wip/rust191/work/rustc-1.91.0-src/vendor/gix-prompt-0.11.1/src/types.rs:72:37
   |
72 |                     .and_then(|val| gix_config_value::Boolean::try_from(val).ok())
   |                                     ^^^^^^^^^^^^^^^^
   |
   = note: perhaps that crate needs to be recompiled?
   = note: the following crate versions were found:
           crate `bstr`: /usr/pkgsrc/wip/rust191/work/rustc-1.91.0-src/build/x86_64-unknown-netbsd/stage1/lib/rustlib/armv6-unknown-netbsd-eabihf/lib/libbstr-8d7eb7ea61c08201.rmeta
           crate `gix_config_value`: /usr/pkgsrc/wip/rust191/work/rustc-1.91.0-src/build/x86_64-unknown-netbsd/stage2-tools/armv6-unknown-netbsd-eabihf/release/deps/libgix_config_value-087ad63e7ac3453f.rmeta

error[E0460]: found possibly newer version of crate `bstr` which `gix_command` depends on
  --> /usr/pkgsrc/wip/rust191/work/rustc-1.91.0-src/vendor/gix-prompt-0.11.1/src/lib.rs:30:15
   |
30 |         match gix_command::prepare(askpass).arg(prompt).spawn() {
   |               ^^^^^^^^^^^
   |
   = note: perhaps that crate needs to be recompiled?
   = note: the following crate versions were found:
           crate `bstr`: /usr/pkgsrc/wip/rust191/work/rustc-1.91.0-src/build/x86_64-unknown-netbsd/stage1/lib/rustlib/armv6-unknown-netbsd-eabihf/lib/libbstr-8d7eb7ea61c08201.rmeta
           crate `gix_command`: /usr/pkgsrc/wip/rust191/work/rustc-1.91.0-src/build/x86_64-unknown-netbsd/stage2-tools/armv6-unknown-netbsd-eabihf/release/deps/libgix_command-1160e776be7c60d6.rmeta

   Compiling icu_collections v2.0.0
   Compiling icu_locale_core v2.0.0
For more information about this error, try `rustc --explain E0460`.
error: could not compile `gix-prompt` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
Build completed unsuccessfully in 1:27:38

Why this happens for armv6hf and not for armv7hf is beyond me.

I'm looking for hints for what to look for in this case.

Bootstrap configuration (bootstrap.toml)
(empty here)

Humm, I started a build for another target architecture. The bootstrap.toml is similar to what's in #148450, except with armv6 instead of armv7.

Operating system

Host: NetBSD/amd64 10.1

HEAD
castor: {73} echo `cat work/rustc-1.91.0-src/git-commit-hash `
f8297e351a40c1439a467bbbb6879088047f50b3
castor: {74} 

Basically 1.91.0 from the release tarball.

Additional context
Build Log

I think the salient details are included above. If the full build log is truly needed, it can be provided at a later date.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported python3.12 ./x.py dist -j 40 cross-build and the empty bootstrap.toml, then compare the armv6 configuration with the armv7 workaround from issue #148450. Trace the stage1 and stage2-tools artifacts named in the E0460 output, especially bstr, gix_config_value, and gix_command; done means the armv6-unknown-netbsd-eabihf build completes without the dependency-version errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, compilers, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.