I'm having the exact same issue. Things otherwise seem fine.
I'm on NixOS, which is unsupported at the moment. I started to write up a shell for it, but decided to first try building the project with docker.
Modified the docker run command:
$ docker run --privileged --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
--security-opt seccomp=unconfined --security-opt apparmor=unconfined \
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
-v redox-1000-100-cargo:/run/current-system/sw/bin/cargo \
-v redox-"$(id -u)-$(id -g)"-rustup:/run/current-system/sw/bin/rustup \
-v "$(pwd):$(pwd)" -w "$(pwd)" --rm redoxos/redox make all
Which results in:
Changing user id:group to 1000:100. Please wait...
info: syncing channel updates for 'nightly-2020-07-27-x86_64-unknown-linux-gnu'
info: latest update on 2020-07-27, rust version 1.47.0-nightly (6c8927b0c 2020-07-26)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
mk/depends.mk:18: *** xargo 0.3.20 not found, run "cargo install --force --version 0.3.20 xargo". Stop.
So I installed xargo
as per instructions:
$ cargo install --force --version 0.3.20 xargo
And ran it again with the same output. Running the container interactively and then installing the correct version of xargo
there seems to result in a different error related to relibc. So now I'm trying to rebuild the container but am held up by a problem with apt.
When attempting to build using Docker on NixOS as per instructions in docker/, the build fails with:
$ docker run --privileged --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
-v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \
-v redox-"$(id -u)-$(id -g)"-rustup:/usr/local/rustup \
-v "$(pwd):$(pwd)" -w "$(pwd)" --rm redoxos/redox make fetch all
cargo build --manifest-path cookbook/Cargo.toml --release
error: override toolchain '/home/user/redox/prefix/x86_64-unknown-redox/relibc-install' is not installed
info: caused by: the RUSTUP_TOOLCHAIN environment variable specifies an uninstalled toolchain
Makefile:44: recipe for target 'fetch' failed
make: *** [fetch] Error 1
I attempted to run the docker container interactively, ./bootstrap.sh -d
, and then make fetch all
. This fails with the
same error as above. make all
also fails with these panics:
thread 'main' panicked at 'unexpected -vV format', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rustc_version-0.1.7/src/lib.rs:126:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'unexpected -vV format', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rustc_version-0.1.7/src/lib.rs:126:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'unexpected -vV format', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rustc_version-0.1.7/src/lib.rs:126:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'unexpected -vV format', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rustc_version-0.1.7/src/lib.rs:126:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'unexpected -vV format', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rustc_version-0.1.7/src/lib.rs:Makefile:178: recipe for target '"target/x86_64-unknown-redox"/release/crt0.o' failed
126make[1]: *** ["target/x86_64-unknown-redox"/release/crt0.o] Error 101
:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Docker version 19.03.12, build v19.03.12
NixOS version 20.09
Nix version 2.3.10
git clone https://gitlab.redox-os.org/redox-os/redox.git ; cd redox
$ git pull --rebase --recurse-submodules && git submodule sync \
&& git submodule update --recursive --init
$ docker run --privileged --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
-v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \
-v redox-"$(id -u)-$(id -g)"-rustup:/usr/local/rustup \
-v "$(pwd):$(pwd)" -w "$(pwd)" --rm redoxos/redox make fetch all