forked from thoughtpolice/bcachefs-tools
-
Notifications
You must be signed in to change notification settings - Fork 105
Open
Description
(Note: This was compiled in an i686 chroot)
Running `/opt/rust-bin-1.86.0/bin/rustc --crate-name bch_bindgen --edition=2021 bch_bindgen/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=1b3172c95d8c8e2d -C extra-filename=-4ba7f1b65500a05e --out-dir /var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/deps -L dependency=/var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/deps --extern anyhow=/var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/deps/libanyhow-da524f7cda188eaf.rmeta --extern bitfield=/var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/deps/libbitfield-bab7e7e03fd5d7e2.rmeta --extern bitflags=/var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/deps/libbitflags-bc9ab3c604ad4165.rmeta --extern paste=/var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/deps/libpaste-3b7cf7544ef442bf.so --extern uuid=/var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/deps/libuuid-5b2ca5faabcb8dd6.rmeta -C default-linker-libraries -L native=/usr/lib -L native=/usr/lib -l urcu-common -l urcu -l keyutils`
error[E0588]: packed type cannot transitively contain a `#[repr(align)]` type
--> /var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/build/bch_bindgen-74f60dd9ec691af2/out/bcachefs.rs:27350:1
|
27350 | pub struct bch_ioctl_data_event {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: `bch_ioctl_data_progress` has a `#[repr(align)]` attribute
--> /var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/build/bch_bindgen-74f60dd9ec691af2/out/bcachefs.rs:27231:1
|
27231 | pub struct bch_ioctl_data_progress {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: `bch_ioctl_data_event` contains a field of type `bch_ioctl_data_event__bindgen_ty_1`
--> /var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/build/bch_bindgen-74f60dd9ec691af2/out/bcachefs.rs:27354:9
|
27354 | pub __bindgen_anon_1: bch_ioctl_data_event__bindgen_ty_1,
| ^^^^^^^^^^^^^^^^
note: ...which contains a field of type `bch_ioctl_data_progress`
--> /var/tmp/portage/sys-fs/bcachefs-tools-1.25.2/work/bcachefs-tools-1.25.2/target/release/build/bch_bindgen-74f60dd9ec691af2/out/bcachefs.rs:27359:9
|
27359 | pub p: bch_ioctl_data_progress,
| ^
For more information about this error, try `rustc --explain E0588`.
error: could not compile `bch_bindgen` (lib) due to 1 previous error
It looks like this is known to upstream:
rust-lang/rust-bindgen#2179
rust-lang/rfcs#3718
Workaround:
diff --git a/libbcachefs/bcachefs_ioctl.h b/libbcachefs/bcachefs_ioctl.h
index 52594e9..9161e19 100644
--- a/libbcachefs/bcachefs_ioctl.h
+++ b/libbcachefs/bcachefs_ioctl.h
@@ -249,7 +249,7 @@ struct bch_ioctl_data_progress {
__u64 sectors_total;
__u64 sectors_error_corrected;
__u64 sectors_error_uncorrected;
-} __packed __aligned(8);
+};
enum bch_ioctl_data_event_ret {
BCH_IOCTL_DATA_EVENT_RET_done = 1,
$ rustc --version
rustc 1.86.0 (05f9846f8 2025-03-31)
$ cargo --version
cargo 1.86.0 (adf9b6ad1 2025-02-28)
Metadata
Metadata
Assignees
Labels
No labels