public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	aderumier@odiso.com, pve-devel <pve-devel@pve.proxmox.com>
Subject: Re: [pve-devel] rust build questions
Date: Wed, 5 May 2021 08:59:18 +0200	[thread overview]
Message-ID: <9aa9eb08-9ceb-fcc9-0152-fe4ebd126c28@proxmox.com> (raw)
In-Reply-To: <adf1ca5bd2fbec58bbb1af878d8638deb3fcd5aa.camel@odiso.com>

On 05.05.21 08:36, aderumier@odiso.com wrote:
> Hi,
> I try to build proxmox rust package to test the remote migration,
> 
> I'm a noob with rust, so I have begin too look at proxmox-backup doc
> 
> https://git.proxmox.com/?p=proxmox-backup.git;a=blob_plain;f=README.rst;hb=HEAD
> 
> ``rustup`` Toolchain
> ====================
> 
> We normally want to build with the ``rustc`` Debian package. To do that
> you can set the following ``rustup`` configuration:
> 
>     # rustup toolchain link system /usr
>     # rustup default system
> 
> 
> I don't see any rustup binary in the rustc package
> ii  rustc                                            1.51.0+dfsg1-
> 1~bpo10+pve1          amd64        Rust systems programming language
> ii  cargo                                            0.46.0-
> 1~bpo10+pve1                amd64        Rust package manager
> 
> any idea ? does it come from another package ?

rustup is the "rust native" way to setup rust: https://rustup.rs/

Some people here have both, Packaged rust for clean package builds and
some nightly version for testing newer features in development or such
things.

If you do not have rustc setup outside of Debian packages you can ignore
that.

> 
> 
> currently, I have tried to build "proxmox" rust
> 
> https://git.proxmox.com/?p=proxmox.git;a=shortlog
> with a simple
> "make deb" + installed needed build depend.
> 
> but I have this error
> 
> 
> "
> test src/tools/websocket.rs - tools::websocket::create_frame (line 161)
> ... ok
> test src/tools/websocket.rs - tools::websocket::create_frame (line 148)
> ... ok
> 
> failures:
> 
> ---- src/api/api_type_macros.rs - api_string_type (line 5) stdout ----
> error[E0432]: unresolved import `proxmox::api::api`
>  --> src/api/api_type_macros.rs:6:5
>   |
> 4 | use proxmox::api::api;
>   |     ^^^^^^^^^^^^^^^^^ no `api` in `api`
> 
> error: cannot determine resolution for the attribute macro `api`
>   --> src/api/api_type_macros.rs:13:7
>    |
> 11 |     #[api(format: &PROXMOX_SAFE_ID_FORMAT)]
>    |       ^^^
>    |
>    = note: import resolution is stuck, try simplifying macro imports
> 
> error[E0599]: no associated item named `API_SCHEMA` found for struct
> `AccountName` in the current scope
>   --> src/api/api_type_macros.rs:12:1
>    |
> 10 | / api_string_type! {
> 11 | |     #[api(format: &PROXMOX_SAFE_ID_FORMAT)]
> 12 | |     /// ACME account name.
> 13 | |     #[derive(Debug, Clone, Eq, PartialEq, Hash, Deserialize,
> Serialize)]
> 14 | |     #[serde(transparent)]
> 15 | |     pub struct AccountName(String);
> 16 | | }
>    | | ^
>    | | |
>    | |_associated item `API_SCHEMA` not found for this
>    |   associated item not found in `AccountName`
>    |
>    = note: this error originates in a macro (in Nightly builds, run
> with -Z macro-backtrace for more info)
> 
> error: aborting due to 3 previous errors
> 
> Some errors have detailed explanations: E0432, E0599.
> For more information about an error, try `rustc --explain E0432`.
> Couldn't compile the test.
> 
> failures:
>     src/api/api_type_macros.rs - api_string_type (line 5)
> 
> test result: FAILED. 60 passed; 1 failed; 7 ignored; 0 measured; 0
> filtered out; finished in 23.78s
> 
> error: test failed, to rerun pass '--doc'
> "
>
> Seem to be a missing package ?

Did you setup the devel repository?

deb http://download.proxmox.com/debian/devel buster main

And installed all build-dependencies? Maybe there are some missing in
d/control..

May want to ensure you have the proxmox crate installed: 

apt install librust-proxmox-dev librust-proxmox-api-macro-dev






  reply	other threads:[~2021-05-05  6:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05  6:36 aderumier
2021-05-05  6:59 ` Thomas Lamprecht [this message]
2021-05-05  7:00   ` Thomas Lamprecht
2021-05-05  7:19   ` aderumier
2021-05-05  6:43 Dietmar Maurer
2021-05-05  7:18 ` aderumier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9aa9eb08-9ceb-fcc9-0152-fe4ebd126c28@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=aderumier@odiso.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=pve-devel@pve.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal