[Pkg-rust-maintainers] Bug#1065587: re: rust-polling: Please try to rebuild rust-polling for loong64

zhangdandan zhangdandan at loongson.cn
Mon Mar 11 10:21:01 GMT 2024


Hi,

On Thu, 7 Mar 2024 14:39:31 +0000 Peter Green wrote:

 > > I have built the rust-polling successfully in my local loong64
 > > environment, without modifications required.
 >
 > Make sure you are not using DEB_BUILD_OPTIONS=nocheck
 >

I didn't use any DEB_BUILD_OPTIONS in my local ENV.
After comparing, I found that the packages version I used when compiling 
rust-polling locally were different from the current Debian 
Auto-Building packages version, for examples:
- My local ENV
    Compiling libc v0.2.150   //Note that
    Compiling rustix v0.38.25
    Compiling linux-raw-sys v0.4.11
    Compiling pin-project-lite v0.2.13
    Compiling cfg-if v1.0.0
    Compiling bitflags v2.4.0
    Compiling tracing-core v0.1.30
- Debian Package Auto-Building ENV
    Compiling libc v0.2.150   //Note that
    Compiling rustix v0.38.25
    Compiling linux-raw-sys v0.4.11
    Compiling pin-project-lite v0.2.13
    Compiling cfg-if v1.0.0
    Compiling bitflags v2.4.0
    Compiling tracing-core v0.1.30

The error build log of rust-polling is as follows,
```
error[E0425]: cannot find value `FS_IOC_GETFLAGS` in module `c`
     --> /usr/share/cargo/registry/rustix-0.38.30/src/fs/ioctl.rs:142:57
......
error[E0425]: cannot find value `FS_IOC_SETFLAGS` in module `c`
     --> /usr/share/cargo/registry/rustix-0.38.30/src/fs/ioctl.rs:161:57
      |
161  |         let ctl = ioctl::Setter::<ioctl::BadOpcode<{ 
c::FS_IOC_SETFLAGS }>, u32>::new(flags.bits());
      | ^^^^^^^^^^^^^^^
      |
     ::: 
/usr/share/cargo/registry/libc-0.2.152/src/unix/linux_like/linux/mod.rs:2922:1
......
```

 > > Please try to rebuild rust-polling for loong64 in the Debian Package
 > > Auto-Building environment.
 >
 > It failed again.

Analyzed by our rust team, due to rust libc 0.2.152 missing LoongArch's 
FS_IOC_{G,S}{ETVERSION,ETFLAGS} related symbol bindings.
The following commit (Add ioctl FS_IOC_{G,S}{ETVERSION,ETFLAGS} for 
LoongArch64) can resolve this question:
https://github.com/rust-lang/libc/commit/9a074313961e93a0f38fab26b72a4fc393ed1148

Could the above commit "Add ioctl FS_IOC_{G,S}{ETVERSION,ETFLAGS} for 
LoongArch64" be backpunched to Debian rust-libc 0.2.152-1。
Or wait for the next upstream version of rust-lang/libc.
What about your suggestion?


Thanks,
Dandan Zhang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20240311/d117073d/attachment.htm>


More information about the Pkg-rust-maintainers mailing list