Subject: [rust] Segfault when trying to download dependencies using Cargo

From: Albin Otterhäll <[email-masked]>
Date: Sun, 05 Feb 2023 00:28:25 +0000

# Segfault when trying to build Rust binary using cargo and a dependency

## Description

As soon as I add a dependency to `Cargo.toml` I get a segfault when I in some way try to build the binary.

## Expected behavior

When running `cargo build` after having added a dependency on `rand = "0.8.3"` in the example below Cargo should download the `rand` package (`rust-rand` in Guix).

## Actual behavior

The build process halts with a segmentation fault.

### Steps to reproduce

Create an environment with the command `guix shell --manifest=manifest.scm` and there `manifest.scm` contains

```
(specifications->manifest (list "rust"
                                "rust-analyzer"
                                "rust-cargo"))
```

and then run the commands

$ cargo new mve
Created binary (application) `mve` package

$ cd mve/

mve $ cargo build
   Compiling mve v0.1.0 (/home/a12l/Long-Term/TRPL/mve)
    Finished dev [unoptimized + debuginfo] target(s) in 0.56s

mve $ echo 'rand = "0.8.3"' >> Cargo.toml

mve $ cargo build
    Updating crates.io index
Segmentation fault (core dumped)

## My system

I'm running Guix on a NixOS 22.11 machine, by having added `https://github.com/foo-dogsquared/nix-overlay-guix` to my system configuration.

Thanks!
--
Albin Otterhäll