<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi, <br>
    </p>
    <p>On Thu, 7 Mar 2024 14:39:31 +0000 Peter Green <plugwash@debian.org>
        wrote:</plugwash@debian.org></p>
    <p><plugwash@debian.org></plugwash@debian.org></p>
    <plugwash@debian.org>> > I have built the rust-polling
      successfully in my local loong64 <br>
      > > environment, without modifications required.<br>
      > <br>
      > Make sure you are not using DEB_BUILD_OPTIONS=nocheck<br>
      > <br>
      <br>
      I didn't use any DEB_BUILD_OPTIONS in my local ENV.<br>
      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:<br>
      - My local ENV<br>
         Compiling libc v0.2.150   //Note that<br>
         Compiling rustix v0.38.25<br>
         Compiling linux-raw-sys v0.4.11<br>
         Compiling pin-project-lite v0.2.13<br>
         Compiling cfg-if v1.0.0<br>
         Compiling bitflags v2.4.0<br>
         Compiling tracing-core v0.1.30<br>
      - Debian Package Auto-Building ENV<br>
         Compiling libc v0.2.150   //Note that<br>
         Compiling rustix v0.38.25<br>
         Compiling linux-raw-sys v0.4.11<br>
         Compiling pin-project-lite v0.2.13<br>
         Compiling cfg-if v1.0.0<br>
         Compiling bitflags v2.4.0<br>
         Compiling tracing-core v0.1.30<br>
      <br>
      The error build log of rust-polling is as follows,<br>
      ```<br>
      error[E0425]: cannot find value `FS_IOC_GETFLAGS` in module `c`<br>
          -->
      /usr/share/cargo/registry/rustix-0.38.30/src/fs/ioctl.rs:142:57 <br>
      ......<br>
      error[E0425]: cannot find value `FS_IOC_SETFLAGS` in module `c`<br>
          -->
      /usr/share/cargo/registry/rustix-0.38.30/src/fs/ioctl.rs:161:57<br>
           |<br>
      161  |         let ctl = ioctl::Setter::<ioctl::BadOpcode<{
      c::FS_IOC_SETFLAGS }>, u32>::new(flags.bits());<br>
           |                                                        
      ^^^^^^^^^^^^^^^<br>
           |<br>
          :::
/usr/share/cargo/registry/libc-0.2.152/src/unix/linux_like/linux/mod.rs:2922:1<br>
      ......<br>
      ```<br>
      <br>
      > > Please try to rebuild rust-polling for loong64 in the
      Debian Package <br>
      > > Auto-Building environment.<br>
      > <br>
      > It failed again.<br>
    </plugwash@debian.org><br>
    Analyzed by our rust team, due to rust libc 0.2.152 missing
    LoongArch's FS_IOC_{G,S}{ETVERSION,ETFLAGS} related symbol bindings.<br>
    The following commit (Add ioctl FS_IOC_{G,S}{ETVERSION,ETFLAGS} for
    LoongArch64) can resolve this question:<br>
<a class="moz-txt-link-freetext" href="https://github.com/rust-lang/libc/commit/9a074313961e93a0f38fab26b72a4fc393ed1148">https://github.com/rust-lang/libc/commit/9a074313961e93a0f38fab26b72a4fc393ed1148</a><br>
    <br>
    Could the above commit "Add ioctl FS_IOC_{G,S}{ETVERSION,ETFLAGS}
    for LoongArch64" be backpunched to Debian rust-libc 0.2.152-1。<br>
    Or wait for the next upstream version of rust-lang/libc.<br>
    What about your suggestion?<br>
    <br>
    <br>
    Thanks,<br>
    Dandan Zhang<br>
  </body>
</html>