-
Notifications
You must be signed in to change notification settings - Fork 85
rpmlib-sys: rpmts.h and rpmfi.h cause bindgen_test_layout_max_align_t
failures
#11
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
Labels
Comments
This was referenced Apr 8, 2018
Closed
These were both fixed in #17 by having bindgen build a C++ binding instead of a C one |
Per rust-lang/rust-bindgen#363 it sounds like this issue would've also been addressed by using |
snev68
added a commit
to snev68/iqlusioninc-crates
that referenced
this issue
Aug 5, 2024
bindgen was having trouble with several critical files when we were attempting to build a C binding: iqlusioninc/crates#11 iqlusioninc/crates#12 However, rpmlib's headers are also set up to supply C++ bindings, and if we rename our header file from `.h` to `.hpp` it signals to bindgen that we want to treat the project as C++. If we do, all the previous problems are magically resolved, and we are able to bind to all of rpmlib as well as librpmbuild and librpmsign. We do introduce one new weird minor bindgen issue (see `lib.rs`). We should probably switch to whitelisting the structs and functions the `rpmlib` crate actually uses, rather than having bindgen build a binding to everything. But good to know it works!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
These headers are:
rpmts.h
: Transaction setsrpmfi.h
: File informationWhen either of these headers are enabled (in
src/rpmlib-sys.h
), they cause the automatically generatedbindgen_test_layout_max_align_t
test to fail. In either case, we get the following failure:Both of these headers are presently commented out in the binding generator due to these errors.
The text was updated successfully, but these errors were encountered: