Uploaded image for project: ' AGL Development'
  1. AGL Development
  2. SPEC-4893

KUKSA.val databroker fails to build for RISC-V platforms


      While testing the fix for SPEC-4892, it was observed that the databroker fails to build for qemuriscv64.  Upon investigation, the root cause is a crate ("ring") in the dependency hierarchy that builds and wraps C and asm cryptography implementations.  This issue will track working up a fix/workaround to get the databroker to build.  Initial investigation indicates:

      • The ring crate does not have RISC-V support upstream, but there have been several different pull requests with different implementations over the last few years.
      • None of the RISC-V support pull requests apply in a straightforward way to the stable release of the crate that is currently available (0.16.20).  That release is roughly three years old.
      • Applying a patch to a crate in the kuksa-databroker recipe is workable with careful setting of the patchdir option in SRC_URI.
      • cargo has some provision for configuring a different version and/or source of a crate with its own patch directive in Cargo.toml.  Any changes seem likely to require also patching Cargo.lock to match.

      It is likely that a fix will be either:

      1. Working up a set of patches on top of ring 0.16.20 that get one of the RISC-V pull request patches to usefully apply.
      2. Forcing the use of either the 0.17 alpha version of ring from crates.io, or an explicit clone of the github repo, then patching the RISC-V support from the latest pull request on top.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            scottm Scott Murray
            scottm Scott Murray
            0 Vote for this issue
            2 Start watching this issue