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

cross fail to build futures-util v0.3.25 due to version GLIBC_2.28' not found` #1184

Open
5 of 11 tasks
NobodyXu opened this issue Jan 9, 2023 · 4 comments
Open
5 of 11 tasks
Labels
duplicate pending-close Issue will be closed if no further comments

Comments

@NobodyXu
Copy link

NobodyXu commented Jan 9, 2023

Checklist

Describe your issue

After bumping tokio from 1.23.0 to 1.24.1 cargo-bins/cargo-binstall#658 , cross failed to cross-compile cargo-binstall due to:

error: failed to run custom build command for `futures-util v0.3.25`

Caused by:
  process didn't exit successfully: `/target/debug/build/futures-util-66db01e574f92740/build-script-build` (exit status: 1)
  --- stderr
  /target/debug/build/futures-util-66db01e574f92740/build-script-build: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /target/debug/build/futures-util-66db01e574f92740/build-script-build)
warning: build failed, waiting for other jobs to finish...
error: Recipe `check` failed on line 117 with exit code 101
Error: Process completed with exit code 101.

What target(s) are you cross-compiling for?

aarch64-unknown-linux-gnu, aarch64-unknown-linux-musl, armv7-unknown-linux-gnueabihf

Which operating system is the host (e.g computer cross is on) running?

  • macOS
  • Windows
  • Linux / BSD
  • other OS (specify in description)

What architecture is the host?

  • x86_64 / AMD64
  • arm32
  • arm64 (including Mac M1)

What container engine is cross using?

  • docker
  • podman
  • other container engine (specify in description)

cross version

cross 0.2.4

Example

No response

Additional information / notes

Cross compilation to armv7-unknown-linux-musleabihf succeeded.

@Emilgardis
Copy link
Member

@NobodyXu
Copy link
Author

NobodyXu commented Jan 9, 2023

Aha, I guess the armv7-unknown-linux-gnueabihf release build failure is caused by the same reson cargo-bins/cargo-binstall#670

@Emilgardis
Copy link
Member

Emilgardis commented Jan 9, 2023

Yep, that one is using the same cache as https://github.com/cargo-bins/cargo-binstall/actions/runs/3870358671/jobs/6597650761#step:3:76

the problem is basically that

  • the containers cross uses has a lower glibc than available on githubs ci runners.
  • when using build-scripts, the only time they are rebuilt is on changes to rustc itself, paths pointed to with cargo:rerun-if-changed or env vars with cargo:rerun-if-env-changed
  • in consequence, this means that the faster build that gets cached has their build-scripts cached, and since in general the workflow that is not ran through docker is most likely the fastest, its build scripts will be the ones used in future runs.
  • since the build script that was cached has a higher glibc linked in, they can't run inside the docker image with a lower glibc

@Emilgardis Emilgardis added duplicate pending-close Issue will be closed if no further comments labels Jan 9, 2023
@NobodyXu
Copy link
Author

NobodyXu commented Jan 9, 2023

Thanks for the explanation, this is probably a cargo-binstall workflow issue due to recent changes to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate pending-close Issue will be closed if no further comments
Projects
None yet
Development

No branches or pull requests

2 participants