public inbox for docs@lists.yoctoproject.org
 help / color / mirror / Atom feed
From: Michael Opdenacker <michael.opdenacker@bootlin.com>
To: Alex Kiernan <alex.kiernan@gmail.com>
Cc: docs@lists.yoctoproject.org, Alexander Kanavin <alex.kanavin@gmail.com>
Subject: Re: [docs] [PATCH] ref-manual: document Rust classes
Date: Fri, 3 Feb 2023 10:42:25 +0100	[thread overview]
Message-ID: <3ce2f565-05ca-2410-5368-d1990a66b6bb@bootlin.com> (raw)
In-Reply-To: <c7172449-e2c5-012f-e8fd-05b4edaf7eb9@bootlin.com>

Hi again Alex (Kiernan),

On 02.02.23 at 19:06, Michael Opdenacker wrote:
> Hi Alex,
>
> I tried the example you gave to use the "cargo-update-recipe-crates" 
> class.
>
> On 15.01.23 at 21:03, Alex Kiernan wrote:
>> We should reference `cargo-update-recipe-crates` here rather than
>> `cargo bitbake`. The flow for creating a recipe then goes something
>> like (using hippotat as an example
>> https://www.chiark.greenend.org.uk/~ianmdlvl/hippotat/current/docs/):
>>
>> devtool add -S a6ac94b4922602af64f22b86ba5347ad95fcda44 -V 1.1.7
>> hippotat https://salsa.debian.org/iwj/hippotat.git
>> # edit resulting recipe delete boiler plate tasks and add `inherit
>> cargo cargo-update-recipe-crates`
>> bitbake -c update_crates hippotat
>> # edit recipe to add `require ${BPN}-crates.inc`
>> devtool build hippotat
>> # fix resulting errors (add `DEPENDS += "openssl"`, `inherit
>> pkgconfig` in this case)
>> devtool build hippotat
>
>
> I did just that, but "devtool build hippotat" failed:
>
> <<<
>
> NOTE: hippotat: compiling from external source tree 
> /home/mike/work/yocto/poky/build/workspace/sources/hippotat
> ERROR: hippotat-1.1.7+git999-r0 do_compile: oe_runmake failed
> ERROR: hippotat-1.1.7+git999-r0 do_compile: 
> ExecutionError('/home/mike/work/yocto/poky/build/tmp/work/core2-64-poky-linux/hippotat/1.1.7+git999-r0/temp/run.do_compile.14532', 
> 1, None, None)
> ERROR: Logfile of failure stored in: 
> /home/mike/work/yocto/poky/build/tmp/work/core2-64-poky-linux/hippotat/1.1.7+git999-r0/temp/log.do_compile.14532
> Log data follows:
> | DEBUG: Executing python function externalsrc_compile_prefunc
> | NOTE: hippotat: compiling from external source tree 
> /home/mike/work/yocto/poky/build/workspace/sources/hippotat
> | DEBUG: Python function externalsrc_compile_prefunc finished
> | DEBUG: Executing shell function do_compile
> | NOTE: make -j 20
> | cargo build --release  --workspace
> | rm -rf docs/html
> | sphinx-build -M html docs docs
> | /bin/bash: line 1: sphinx-build: command not found
> | make: *** [Makefile:68: docs/html/index.html] Error 127
> | make: *** Waiting for unfinished jobs....
> |     Updating crates.io index
> | warning: spurious network error (2 tries remaining): failed to 
> resolve address for github.com: Name or service not known; class=Net (12)
> | warning: spurious network error (1 tries remaining): failed to 
> resolve address for github.com: Name or service not known; class=Net (12)
> | error: Unable to update registry `crates-io`
> |
> | Caused by:
> |   failed to fetch `https://github.com/rust-lang/crates.io-index`
> |
> | Caused by:
> |   network failure seems to have happened
> |   if a proxy or similar is necessary `net.git-fetch-with-cli` may 
> help here
> | 
> https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli
> |
> | Caused by:
> |   failed to resolve address for github.com: Name or service not 
> known; class=Net (12)
> | make: *** [Makefile:52: stamp/cargo-build] Error 101
> | ERROR: oe_runmake failed
> | WARNING: exit code 1 from a shell command.
> ERROR: Task 
> (/home/mike/work/yocto/poky/build/workspace/recipes/hippotat/hippotat_git.bb:do_compile) 
> failed with exit code '1'
> NOTE: Tasks Summary: Attempted 739 tasks of which 731 didn't need to 
> be rerun and 1 failed.
>
> Summary: 1 task failed:
> /home/mike/work/yocto/poky/build/workspace/recipes/hippotat/hippotat_git.bb:do_compile 
>
> Summary: There was 1 WARNING message.
> Summary: There were 2 ERROR messages, returning a non-zero exit code.
>
> >>>
>
> I did try to add BB_NO_NETWORK = "0" to conf/local.conf but it didn't 
> help.
> Any clues?
>
> Maybe we could use an example that's simpler to build and with fewer 
> dependencies...
> Cheers
> Michael.


I tried with uutils too (we have it in meta-oe), and I also get 
networking errors. It seems that Cargo is trying to connect to the 
network at build time.

Trying "cargo bitbake" on uutils was so much easier (just checkout the 
tag / commit you want in the git repository, run "cargo bitbake" and you 
get a recipe that builds just fine).

 From the example instructions you gave, devtool didn't even realize 
that the recipe was meant to be built with Cargo. How could it?

So, I'd rather document a workflow that's by far the easiest, even if 
that's not something officially supported by the Yocto Project.

Cheers
Michael.

-- 
Michael Opdenacker, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



  reply	other threads:[~2023-02-03  9:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-13 18:09 [PATCH] ref-manual: document Rust classes michael.opdenacker
2023-01-15 20:03 ` [docs] " Alex Kiernan
2023-01-15 20:09   ` Alexander Kanavin
2023-01-16 17:18   ` Michael Opdenacker
2023-01-16 19:30     ` Alex Kiernan
2023-02-02 18:06   ` Michael Opdenacker
2023-02-03  9:42     ` Michael Opdenacker [this message]
2023-02-03 12:06       ` Alex Kiernan
2023-02-03 17:32         ` Michael Opdenacker
2023-01-16  7:35 ` Ulrich Ölmann
2023-01-16 16:05   ` Michael Opdenacker
2023-01-16 16:15     ` Richard Purdie
     [not found]     ` <173AD6377FCD14EA.23170@lists.yoctoproject.org>
2023-01-16 16:34       ` Richard Purdie
2023-01-16 17:08         ` Michael Opdenacker

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=3ce2f565-05ca-2410-5368-d1990a66b6bb@bootlin.com \
    --to=michael.opdenacker@bootlin.com \
    --cc=alex.kanavin@gmail.com \
    --cc=alex.kiernan@gmail.com \
    --cc=docs@lists.yoctoproject.org \
    /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