Skip to content

thud not compatible with meta-rust HEAD? #37

@holagvk

Description

@holagvk

Describe the bug
Unable to compile with meta-rust HEAD (be88d857a6ba9134abb795b3a34d3a839196335f)

To Reproduce

  1. Add the layers
  2. Compile

Expected behavior
iotedge-cli should compile normally.

Logs

$ bitbake iotedge-cli
[...]
[...]
[...]
ERROR: iotedge-cli-1.0.8-r0 do_compile: Function failed: do_compile (log file is located at /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/temp/log.do_compile.24782)
ERROR: Logfile of failure stored in: /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/temp/log.do_compile.24782
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: cargo = /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/recipe-sysroot-native/usr/bin/cargo
| NOTE: rustc =
| NOTE: cargo build -v --target arm-poky-linux-gnueabi --release
|     Updating git repository `https://github.com/Azure/hyperlocal-windows`
|     Updating git repository `https://github.com/Azure/mio-uds-windows.git`
|     Updating git repository `https://github.com/Azure/tokio-uds-windows.git`
|    Compiling libc v0.2.42
|    Compiling cfg-if v0.1.2
|    Compiling cc v1.0.15
|    Compiling byteorder v1.3.1
|    Compiling futures v0.1.24
|    Compiling lazy_static v1.3.0
|    Compiling unicode-xid v0.1.0
|    Compiling serde v1.0.84

[....]
[....]
[....]

|    Compiling linked-hash-map v0.3.0
|      Running `rustc --crate-name linked_hash_map /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/cargo_home/bitbake/linked-hash-map-0.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="serde"' --cfg 'feature="serde_impl"' --cfg 'feature="serde_test"' -C metadata=9ddf1d1d6ce60bc4 -C extra-filename=-9ddf1d1d6ce60bc4 --out-dir /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps --target arm-poky-linux-gnueabi -C linker=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/wrapper/target-rust-ccld -L dependency=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps -L dependency=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/release/deps --extern serde=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libserde-a93048c59156fa3c.rmeta --extern serde_test=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libserde_test-70db6facd39fab8b.rmeta --cap-lints allow -L /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/recipe-sysroot/usr/lib/rust --remap-path-prefix=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0=/usr/src/debug/iotedge-cli/1.0.8-r0`
| error[E0713]: borrow may still be in use when destructor runs
|    --> /usr/src/debug/iotedge-cli/1.0.8-r0/cargo_home/bitbake/url-1.7.0/src/form_urlencoded.rs:261:40
|     |
| 259 | impl<'a> Target for ::UrlQuery<'a> {
|     |      -- lifetime `'a` defined here
| 260 |     fn as_mut_string(&mut self) -> &mut String { &mut self.url.serialization }
| 261 |     fn finish(self) -> &'a mut ::Url { self.url }
|     |                                        ^^^^^^^^ - here, drop of `self` needs exclusive access to `*self.url`, because the type `UrlQuery<'_>` implements the `Drop` trait
|     |                                        |
|     |                                        returning this value requires that `*self.url` is borrowed for `'a`
| 
|    Compiling tokio-threadpool v0.1.6
|      Running `rustc --crate-name tokio_threadpool /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/cargo_home/bitbake/tokio-threadpool-0.1.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C metadata=7f2666776fd09d03 -C extra-filename=-7f2666776fd09d03 --out-dir /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps --target arm-poky-linux-gnueabi -C linker=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/wrapper/target-rust-ccld -L dependency=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps -L dependency=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/release/deps --extern crossbeam_deque=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libcrossbeam_deque-682cde0e99f8f571.rmeta --extern crossbeam_utils=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libcrossbeam_utils-2d44eac8bd722b16.rmeta --extern futures=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libfutures-a015e1792da071bb.rmeta --extern log=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/liblog-b8905e89877938b7.rmeta --extern num_cpus=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libnum_cpus-faced388d885ee1b.rmeta --extern rand=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/librand-b97aedc7c95a3d1b.rmeta --extern tokio_executor=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libtokio_executor-f94ea6b3952cada8.rmeta --cap-lints allow -L /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/recipe-sysroot/usr/lib/rust --remap-path-prefix=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0=/usr/src/debug/iotedge-cli/1.0.8-r0`
| error: aborting due to previous error
| 
| For more information about this error, try `rustc --explain E0713`.
| error: could not compile `url`.
| 
| Caused by:
|   process didn't exit successfully: `rustc --crate-name url /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/cargo_home/bitbake/url-1.7.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C metadata=e798a36d88fd2d07 -C extra-filename=-e798a36d88fd2d07 --out-dir /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps --target arm-poky-linux-gnueabi -C linker=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/wrapper/target-rust-ccld -L dependency=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps -L dependency=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/release/deps --extern idna=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libidna-8cc502f8d3b50bce.rmeta --extern matches=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libmatches-e2e6399699e7561c.rmeta --extern percent_encoding=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/iotedge-1.0.8/edgelet/target/arm-poky-linux-gnueabi/release/deps/libpercent_encoding-1620468045528910.rmeta --cap-lints allow -L /mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0/recipe-sysroot/usr/lib/rust --remap-path-prefix=/mnt/seesv-distro/build-raspberrypi3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/iotedge-cli/1.0.8-r0=/usr/src/debug/iotedge-cli/1.0.8-r0` (exit code: 1)
| warning: build failed, waiting for other jobs to finish...
| error: build failed

Build System (please complete the following information):

Build Configuration:
BB_VERSION           = "1.40.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "raspberrypi3"
DISTRO               = "seesv"
DISTRO_VERSION       = "2.6.4"
TUNE_FEATURES        = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
TARGET_FPU           = "hard"
SDKMACHINE           = "x86_64"
meta                 
meta-poky            = "HEAD:51f6145f8f99a02df1dad937684f014b0172e72a"
meta-raspberrypi     = "HEAD:89bdf97beaf3b136c24c4d6f86c0bcbb47fe3043"
meta-oe              
meta-python          
meta-networking      
meta-initramfs       
meta-multimedia      
meta-filesystems     = "HEAD:446bd615fd7cb9bc7a159fe5c2019ed08d1a7a93"
meta-boot2qt         
meta-boot2qt-distro  
meta-raspberrypi-extras = "HEAD:6912408e3508d2dac2f9a26638b0db8fd3a0da74"
meta-mingw           = "HEAD:fa4ea76d93c87a2ad3ce88b052c282106b2761e4"
meta-qt5             = "HEAD:f7afa0a4e1348db01be88b9c36372842fb902136"
meta-mender-core     
meta-mender-raspberrypi = "HEAD:4014636a4684194d68e7d480b749211e7ab0c02a"
meta-rust            = "HEAD:be88d857a6ba9134abb795b3a34d3a839196335f"
meta-virtualization  = "HEAD:7685c7d415e0002c448007960837ae8898cd57a5"
meta-iotedge         = "HEAD:ffd829d144eef4e255af9f8b4bd814567114a700"
meta-seesv           = "azure-iot:820235a7b6908dffb3458b3466fff0e57eb37eb4"

Additional context
It seems like a dependency error on url.
However, the documentation of meta-iotedge recommends HEAD revision of meta-rust.

Should meta-rust be pinned to some other compatible revision?

Relevant issues on Github:

  1. servo/rust-url@2efa106
  2. Waterfox-classic fails to build with rust-1.40 BrowserWorks/waterfox#1315
  3. Rust 2015: No longer downgrade NLL errors rust-lang/rust#64221 (Rust no longer downgrade NLL errors)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions