Gems with Rust extensions doesn't work with QEMU

The following discussion from !260 (merged) should be addressed:

  • @stanhu started a discussion: (+1 comment)

    I should note under QEMU the rust compilation for the gem above doesn't seem to work for Raspberry Pi:

    cargo rustc  --manifest-path /root/oxi-test/ext/Cargo.toml --target-dir /root/oxi-test/target --lib --release -- -C linker=arm-linux-gnueabihf-gcc -L native=/usr/local/lib -C link-arg=-Wl,--no-as-needed -C link-arg=-lm
        Updating crates.io index
    warning: spurious network error (2 tries remaining): could not read directory '/root/.cargo/registry/index/github.com-1285ae84e5963aae/.git/refs': Value too large for defined data type; class=Os (2)
    warning: spurious network error (1 tries remaining): could not read directory '/root/.cargo/registry/index/github.com-1285ae84e5963aae/.git/refs': Value too large for defined data type; class=Os (2)
    error: Unable to update registry `crates-io`
    
    Caused by:
      failed to fetch `https://github.com/rust-lang/crates.io-index`
    
    Caused by:
      could not read directory '/root/.cargo/registry/index/github.com-1285ae84e5963aae/.git/refs': Value too large for defined data type; class=Os (2)
    make: *** [Makefile:555: /root/oxi-test/target/release/liboxi_test.so] Error 101
    rake aborted!
    Command failed with status (2): [/usr/bin/make...]
    /usr/local/bin/bundle:25:in `load'
    /usr/local/bin/bundle:25:in `<main>'
    Tasks: TOP => compile => compile:arm-linux-gnueabihf => compile:oxi-test:arm-linux-gnueabihf => copy:oxi-test:arm-linux-gnueabihf:3.0.5 => tmp/arm-linux-gnueabihf/oxi-test/3.0.5/oxi_test.so
    (See full trace by running task with --trace)

    It seems this is a known issue with QEMU: https://github.com/rust-lang/cargo/issues/9545#issuecomment-855282576