Open
Description
Since 2025-06-20, std does not build on AIX: https://does-it-build.noratrieb.dev/target?target=powerpc64-ibm-aix
There are a variety of errors around libc: https://does-it-build.noratrieb.dev/build?nightly=2025-07-04&target=powerpc64-ibm-aix&mode=miri-std
Details
error[E0609]: no field `st_atime` on type `&libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/os/aix/fs.rs:325:36
|
325 | self.as_inner().as_inner().st_atime.tv_sec as i64
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
325 - self.as_inner().as_inner().st_atime.tv_sec as i64
325 + self.as_inner().as_inner().st_atim.tv_sec as i64
|
error[E0609]: no field `st_atime` on type `&libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/os/aix/fs.rs:328:36
|
328 | self.as_inner().as_inner().st_atime.tv_nsec as i64
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
328 - self.as_inner().as_inner().st_atime.tv_nsec as i64
328 + self.as_inner().as_inner().st_atim.tv_nsec as i64
|
error[E0609]: no field `st_mtime` on type `&libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/os/aix/fs.rs:331:36
|
331 | self.as_inner().as_inner().st_mtime.tv_sec as i64
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
331 - self.as_inner().as_inner().st_mtime.tv_sec as i64
331 + self.as_inner().as_inner().st_mtim.tv_sec as i64
|
error[E0609]: no field `st_mtime` on type `&libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/os/aix/fs.rs:334:36
|
334 | self.as_inner().as_inner().st_mtime.tv_nsec as i64
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
334 - self.as_inner().as_inner().st_mtime.tv_nsec as i64
334 + self.as_inner().as_inner().st_mtim.tv_nsec as i64
|
error[E0609]: no field `st_ctime` on type `&libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/os/aix/fs.rs:337:36
|
337 | self.as_inner().as_inner().st_ctime.tv_sec as i64
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
337 - self.as_inner().as_inner().st_ctime.tv_sec as i64
337 + self.as_inner().as_inner().st_ctim.tv_sec as i64
|
error[E0609]: no field `st_ctime` on type `&libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/os/aix/fs.rs:340:36
|
340 | self.as_inner().as_inner().st_ctime.tv_nsec as i64
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
340 - self.as_inner().as_inner().st_ctime.tv_nsec as i64
340 + self.as_inner().as_inner().st_ctim.tv_nsec as i64
|
error[E0308]: mismatched types
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/fd/unix.rs:547:47
|
547 | cvt(libc::ioctl(self.as_raw_fd(), libc::FIOCLEX))?;
| ----------- ^^^^^^^^^^^^^ expected `i32`, found `i64`
| |
| arguments to this function are incorrect
|
note: function defined here
--> /var/lib/does-it-build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.174/src/unix/aix/mod.rs:2994:12
|
2994 | pub fn ioctl(fildes: c_int, request: c_int, ...) -> c_int;
| ^^^^^
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
|
547 | cvt(libc::ioctl(self.as_raw_fd(), libc::FIOCLEX.try_into().unwrap()))?;
| ++++++++++++++++++++
error[E0609]: no field `st_mtime` on type `libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/fs/unix.rs:464:35
|
464 | SystemTime::new(self.stat.st_mtime.tv_sec as i64, self.stat.st_mtime.tv_nsec as i64)
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
464 - SystemTime::new(self.stat.st_mtime.tv_sec as i64, self.stat.st_mtime.tv_nsec as i64)
464 + SystemTime::new(self.stat.st_mtim.tv_sec as i64, self.stat.st_mtime.tv_nsec as i64)
|
error[E0609]: no field `st_mtime` on type `libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/fs/unix.rs:464:69
|
464 | SystemTime::new(self.stat.st_mtime.tv_sec as i64, self.stat.st_mtime.tv_nsec as i64)
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
464 - SystemTime::new(self.stat.st_mtime.tv_sec as i64, self.stat.st_mtime.tv_nsec as i64)
464 + SystemTime::new(self.stat.st_mtime.tv_sec as i64, self.stat.st_mtim.tv_nsec as i64)
|
error[E0609]: no field `st_atime` on type `libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/fs/unix.rs:468:35
|
468 | SystemTime::new(self.stat.st_atime.tv_sec as i64, self.stat.st_atime.tv_nsec as i64)
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
468 - SystemTime::new(self.stat.st_atime.tv_sec as i64, self.stat.st_atime.tv_nsec as i64)
468 + SystemTime::new(self.stat.st_atim.tv_sec as i64, self.stat.st_atime.tv_nsec as i64)
|
error[E0609]: no field `st_atime` on type `libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/fs/unix.rs:468:69
|
468 | SystemTime::new(self.stat.st_atime.tv_sec as i64, self.stat.st_atime.tv_nsec as i64)
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
468 - SystemTime::new(self.stat.st_atime.tv_sec as i64, self.stat.st_atime.tv_nsec as i64)
468 + SystemTime::new(self.stat.st_atime.tv_sec as i64, self.stat.st_atim.tv_nsec as i64)
|
error[E0609]: no field `st_ctime` on type `libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/fs/unix.rs:472:35
|
472 | SystemTime::new(self.stat.st_ctime.tv_sec as i64, self.stat.st_ctime.tv_nsec as i64)
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
472 - SystemTime::new(self.stat.st_ctime.tv_sec as i64, self.stat.st_ctime.tv_nsec as i64)
472 + SystemTime::new(self.stat.st_ctim.tv_sec as i64, self.stat.st_ctime.tv_nsec as i64)
|
error[E0609]: no field `st_ctime` on type `libc::stat`
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/fs/unix.rs:472:69
|
472 | SystemTime::new(self.stat.st_ctime.tv_sec as i64, self.stat.st_ctime.tv_nsec as i64)
| ^^^^^^^^ unknown field
|
help: a field with a similar name exists
|
472 - SystemTime::new(self.stat.st_ctime.tv_sec as i64, self.stat.st_ctime.tv_nsec as i64)
472 + SystemTime::new(self.stat.st_ctime.tv_sec as i64, self.stat.st_ctim.tv_nsec as i64)
|
error[E0308]: mismatched types
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/net/connection/socket/unix.rs:582:52
|
582 | cvt(unsafe { libc::ioctl(self.as_raw_fd(), libc::FIONBIO, &mut nonblocking) }).map(drop)
| ----------- ^^^^^^^^^^^^^ expected `i32`, found `i64`
| |
| arguments to this function are incorrect
|
note: function defined here
--> /var/lib/does-it-build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.174/src/unix/aix/mod.rs:2994:12
|
2994 | pub fn ioctl(fildes: c_int, request: c_int, ...) -> c_int;
| ^^^^^
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
|
582 | cvt(unsafe { libc::ioctl(self.as_raw_fd(), libc::FIONBIO.try_into().unwrap(), &mut nonblocking) }).map(drop)
| ++++++++++++++++++++
error[E0308]: mismatched types
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/process/unix/unix.rs:298:67
|
298 | cvt(libc::setgroups(_g.len().try_into().unwrap(), _g.as_ptr()))?;
| --------------- ^^^^^^^^^^^ types differ in mutability
| |
| arguments to this function are incorrect
|
= note: expected raw pointer `*mut u32`
found raw pointer `*const u32`
note: function defined here
--> /var/lib/does-it-build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.174/src/unix/aix/mod.rs:3255:12
|
3255 | pub fn setgroups(ngroups: c_int, ptr: *mut crate::gid_t) -> c_int;
| ^^^^^^^^^
error[E0308]: mismatched types
--> /var/lib/does-it-build/.rustup/toolchains/nightly-2025-07-04-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/process/unix/unix.rs:313:54
|
313 | let res = cvt(libc::setgroups(0, crate::ptr::null()));
| --------------- ^^^^^^^^^^^^^^^^^^ types differ in mutability
| |
| arguments to this function are incorrect
|
= note: expected raw pointer `*mut u32`
found raw pointer `*const _`
note: function defined here
--> /var/lib/does-it-build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.174/src/unix/aix/mod.rs:3255:12
|
3255 | pub fn setgroups(ngroups: c_int, ptr: *mut crate::gid_t) -> c_int;
| ^^^^^^^^^
help: consider using `core::ptr::null_mut` instead
|
313 - let res = cvt(libc::setgroups(0, crate::ptr::null()));
313 + let res = cvt(libc::setgroups(0, core::ptr::null_mut()));
|
Some errors have detailed explanations: E0308, E0609.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `std` (lib) due to 16 previous errors
fatal error: failed to build sysroot: sysroot build failed