On Thu, Aug 26, 2021 at 9:05 PM Randy MacLeod <randy.macleod@windriver.com> wrote:
On 2021-08-24 12:48 p.m., Randy MacLeod wrote:
> Add Steven Walter in hopes that he or someone else
> who uses meta-rust will help out.
>
> On 2021-08-23 5:21 a.m., Richard Purdie wrote:
>> On Sun, 2021-08-22 at 08:45 -0400, Randy MacLeod wrote:
>>> On 2021-08-22 7:19 a.m., Richard Purdie wrote:
>>>> On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote:
>>>>> On 2021-08-20 10:48 p.m., Randy MacLeod wrote:
>>>>> With a patch from Richard, and the http_proxy check removed,
>>>>> $ git diff | grep "^[+-]"
>>>>>    --- a/meta/lib/oeqa/selftest/cases/sstatetests.py
>>>>>    +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
>>>>>    -http_proxy = "http://example.com/"
>>>>>    +http_proxy = ""
>>>>> we have fixed the oe-selftest that was failing.
>>>>>    Any volunteers to stub out the http[s]_proxy code in cargo ?
>>>>> I've written up a commit log that could use some review and pushed
>>>>> an update
>>>>> to:
>>>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a
>>>>>
>>>>>
>>>>
>>>> I'm not sure you need to change cargo, I think if you remove the bit
>>>> in the
>>>> bbclass that injects http_proxy, the tests are ok. That will perhaps
>>>> break
>>>> anyone using proxies but for now, I think that is a reasonable step
>>>> of getting
>>>> this moved forward?
>>> That's what I hoped for as well but not what my testing showed.
>>>
>>> I removed (commented out actually) the http_proxy injection here:
>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-redo-aug-17-2021-a&id=a4808f787caf8d0b44cf3946cf204164f24f91d4
>>>
>>>
>>> but the test still fails unless I mangle the test:
>>>
>>>      meta/lib/oeqa/selftest/cases/sstatetests.py
>>>
>>>
>>>      -http_proxy = "http://example.com/"
>>>
>>>
>>>      +http_proxy = ""
>> Right, my point is that doesn't remove it. You need to delete it, not
>> comment it
>> out.
>>
>> The issue is that bitbake does variable expansion on the scripts
>> before running
>> them.
>>
>> It can't tell that this is a comment, just that the script differs after
>> variable expansion.
>>
>> Cheers,
>>
>> Richard
>>
>>
>>
> Richard has fixed several new issues and is testing this in master-next:
> http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=master-next
>
> using the YP autobuilder.
>
> We're seeing some odd intermittent build failures especially when using
> the uninative class (used by default in poky) perhaps on older hosts but
> we're not 100% sure of that correlation yet. See below and:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/581/steps/13/logs/stdio
>
>
> If we can't get this fixed in the next day or two, we'll miss the fall
> release.
>
> ../Randy


Thanks to Richard's dogged determination and Herculean efforts,
the Rust recipes are now merged to the oe-core master branch.

    https://git.openembedded.org/openembedded-core/log/?qt=range&q=master

Thank you Richard, Randy and everyone else involved.


There are still some known problems, such as:

1. Tim Orling finding that Rust fails to build python-cryptography:


https://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/rust_python3-cryptography

With the patch below, this branch now builds the latest pyhton3-cryptography 3.4.8. There are some ptest warnings and errors that are still in progress. Also the recipes in this branch need a final scrub before submitting.

Happy to have anyone test the branch if you use python3-cryptography.

Tim says that this change helps:

https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix

Patch sent to ML for this.



and:

2. a reproducible build failure on CentOS-7:

    https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597

where, we see:
    = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \
    not found (required by \
    /home/pokybuild/yocto-worker/reproducible-centos/build/\
    build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\
    1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5)





    error: linking with `\
    /home/pokybuild/yocto-worker/reproducible-centos/build/\
    build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\
    1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1


---


Please test, send patches and/or let me know about any other problems by
email or by opening  a defect in the YP bugzilla:
    https://bugzilla.yoctoproject.org/


I'll work on a commit for meta-rust to remove the components
that have been moved to oe-core. I'm not sure what the
meta-rust developers and users want to do as far as what will
remain in meta-rust but the short list that I have so far is:
1. scripts
2. Jenkins tests
3. Rust version 1.51.0 ?


../Randy

>
>
> error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found
> (required by
> /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/build/bootstrap/debug/deps/libproc_macro_error_attr-9c7a09885c50c72e.so)
>
>      -->
> /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/vendor/proc-macro-error/src/lib.rs:284:9
>
>   284 | pub use proc_macro_error_attr::proc_macro_error;
>       |         ^^^^^^^^^^^^^^^^^^^^^
>
>   error: aborting due to previous error
>   error: could not compile `proc-macro-error`
>
>
>
>
>
>
>
>
>
>
>


--
# Randy MacLeod
# Wind River Linux