help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to debug a failed build of rust application under cargo-build-system


From: Tomas Volf
Subject: How to debug a failed build of rust application under cargo-build-system?
Date: Thu, 15 Feb 2024 13:43:37 +0100

Greetings,

I am trying to package a rust application and the build fails.  I am not sure
how to debug that.  When I try to compile the application using `cargo install',
it does pass and build just fine.  However, when I try to build the application
(imported using the cargo importer) using `guix build', I get this error:

       Compiling tonic v0.10.2
    error[E0277]: the `?` operator can only be used in an async block that 
returns `Result` or `Option` (or another type that implements `FromResidual`)
      --> 
/tmp/guix-build-netavark-1.10.3.drv-0/netavark-1.10.3/guix-vendor/rust-tonic-0.10.2.tar.gz/src/transport/server/incoming.rs:32:45
       |
    28 | /     async_stream::try_stream! {
    29 | |         tokio::pin!(incoming);
    30 | |
    31 | |         while let Some(item) = incoming.next().await {
    32 | |             yield item.map(ServerIo::new_io)?
       | |                                             ^ cannot use the `?` 
operator in an async block that returns `()`
    33 | |         }
    34 | |     }
       | |_____- this function should return `Result` or `Option` to accept `?`
       |
       = help: the trait `FromResidual<std::result::Result<Infallible, IE>>` is 
not implemented for `()`

    For more information about this error, try `rustc --explain E0277`.
    error: could not compile `tonic` (lib) due to previous error

I am not know rust, but this looks like a code error?  If that is the case, I do
not understand why `cargo install' works, since it should be using the same
code.

Could someone nudge me in the right direction regarding how to debug this issue?
I am not really sure where to start.

Thank you and have a nice day,
Tomas Volf

--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]