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

Bug: Rust docs are failing to build for 2.16.x #531

Open
3 tasks done
hadronzoo opened this issue Nov 13, 2024 · 8 comments
Open
3 tasks done

Bug: Rust docs are failing to build for 2.16.x #531

hadronzoo opened this issue Nov 13, 2024 · 8 comments
Labels
bug Something isn't working

Comments

@hadronzoo
Copy link

hadronzoo commented Nov 13, 2024

Describe the bug

2.16.0 appears to have introduced a GCC 13 requirement, which is breaking CI systems like the Rust Docs builder. Compiling a Rust project that depends on USearch 2.16.2 on a Github Action Runner using ubuntu-latest will also result in the same compilation failure.

Steps to reproduce

Compile a Rust project that uses USearch 2.16.0 on Ubuntu 22.04, which will fail with cc1plus: error: attribute 'avx512fp16' argument 'target' is unknown. Upgrading to GCC 13 or switching to Ubuntu 24.04 will fix the issue.

Expected behavior

Rust docs to build for new versions. Compilation to succeed on Ubuntu 22.04 without errors.

USearch version

v2.16.0

Operating System

Ubuntu 22.04

Hardware architecture

x86

Which interface are you using?

Other bindings

Contact Details

[email protected]

Are you open to being tagged as a contributor?

  • I am open to being mentioned in the project .git history as a contributor

Is there an existing issue for this?

  • I have searched the existing issues

Code of Conduct

  • I agree to follow this project's Code of Conduct
@hadronzoo hadronzoo added the bug Something isn't working label Nov 13, 2024
@ashvardanian
Copy link
Contributor

@hadronzoo, hi! Is there a way to override the compilation settings of the docs builder?

I assume it might be easier to fix this issue in SimSIMD first.

@hadronzoo
Copy link
Author

It looks like docs.rs does have a way to update the build environment for a crate: https://forge.rust-lang.org/docs-rs/add-dependencies.html.

@ashvardanian
Copy link
Contributor

@hadronzoo, sounds like a solution! Any chance you could open a PR? Might be best to start in the SimSIMD repo, as it's the source of the problems, I assum.

@hadronzoo
Copy link
Author

hadronzoo commented Nov 13, 2024

Is there any way to detect the older platform to prevent this error? Unfortunately, any crate which depends upon USearch also fails to build docs. I've also opened a docs.rs issue.

@hadronzoo
Copy link
Author

It looks like they only take 20.04 packages:

This should be the name of a package in the Ubuntu 20.04 Repositories.

I think that's going to block upgrading GCC.

@hadronzoo
Copy link
Author

Another option is to make the simsimd feature optional instead of being enable by default.

@ashvardanian
Copy link
Contributor

@hadronzoo, making it optional is a bad idea. It brings too much to the table and very few people remember to check the available options/flags/settings 🤔 Is there a way to control the minimum viable GLibC version or OS version?

@hadronzoo
Copy link
Author

I think this is blocked on rust-lang/docs.rs#2672.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants