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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vector fails to build on GCC 14 (Fedora 40) due to upstream sasl2-sys #20478

Closed
sbalmos opened this issue May 11, 2024 · 2 comments
Closed

Vector fails to build on GCC 14 (Fedora 40) due to upstream sasl2-sys #20478

sbalmos opened this issue May 11, 2024 · 2 comments
Labels
type: bug A code related bug.

Comments

@sbalmos
Copy link
Contributor

sbalmos commented May 11, 2024

A note for the community

  • Please vote on this issue by adding a 馃憤 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Problem

This is not truly an issue with Vector, so this is more of an informational bug. TL;DR - the sasl2-sys crate isn't tracking common distro-provided patches to the SASL C lib, causing it to fail now that GCC 14 makes implicit function definitions errors rather than warnings.

Vector uses rdkafka with the gssapi-vendored feature. This causes rdkafka to depend on sasl2-sys with its gssapi-vendored feature. That underlying feature means the sasl2-sys crate builds its own static version of the SASL C library. Unfortunately, the SASL C library has not properly updated its build process to conform to C99, causing it to throw numerous implicit function definition warnings for missing time.h. These warnings are now errors in GCC 14-based distros (e.g. Fedora 40, what I'm now running). Thus Vector, and really anything using sasl2-sys with any of the vendored feature(s), to fail to build.

Someone else has already reported this to the sasl2-sys crate at MaterializeInc/rust-sasl#51. The underlying missing time.h build errors were technically fixed two years ago all the way upstream in SASL 2.2.0. But that would require a new version of sasl2-sys, rdkafka, and then Vector could pull it in. I'm not holding my breath. :)

Configuration

No response

Version

0.39.0

Debug Output

No response

Example Data

No response

Additional Context

No response

References

MaterializeInc/rust-sasl#51

@benesch
Copy link

benesch commented May 13, 2024

This should be fixed in sasl2-sys v0.1.21, which includes MaterializeInc/rust-sasl@0186e52.

You shouldn't need a new version of rdkafka to pick this up, since it's a SemVer patch release. Running cargo update -p sasl2-sys should fix things up.

@sbalmos
Copy link
Contributor Author

sbalmos commented May 13, 2024

Ayup, thanks for plugging this in and releasing. Sometimes semver patches actually really do work. :)

@sbalmos sbalmos closed this as completed May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug A code related bug.
Projects
None yet
Development

No branches or pull requests

2 participants