vector icon indicating copy to clipboard operation
vector copied to clipboard

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

Open sbalmos opened this issue 1 year ago • 0 comments

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 https://github.com/MaterializeInc/rust-sasl/issues/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

https://github.com/MaterializeInc/rust-sasl/issues/51

sbalmos avatar May 11 '24 12:05 sbalmos