Hi Danny, Danny Milosavljevic writes: > On Wed, 13 Feb 2019 20:35:51 -0800 > Chris Marusich wrote: > >> I looked in the failed build directory, but I couldn't find a core >> dump. When I manually ran the command... >> >> /gnu/store/jxq[...]-mrustc-0.8.0/bin/mrustc >> src/tools/cargo/src/bin/cargo.rs [...] >> >> ...it actually succeeded. > > Does that mean in an i686-linux guix environment? > > If so, that's very good to know and it could be a good workaround to keep going! > > Did you source the environment-variables, too? Here's more info about what I did. On my x86_64-linux Guix System machine, where the build failed, I ran the following commands: --8<---------------cut here---------------start------------->8--- cd /tmp/guix-build-rust-1.19.0.drv-0 . environment-variables cd rustc-1.19.0-src/ /gnu/store/jxq5p3mx2gavj7hws1drz3pndn87lqrl-mrustc-0.8.0/bin/mrustc src/tools/cargo/src/bin/cargo.rs --crate-name cargo --crate-type bin --crate-tag 0_20_0 -g --cfg debug_assertions -O -o output/cargo-build/cargo -L output/cargo-build --extern cargo=output/cargo-build/libcargo-0_20_0.hir --extern crates_io=output/cargo-build/libcrates_io-0_9_0.hir --extern crossbeam=output/cargo-build/libcrossbeam-0_2_10.hir --extern curl=output/cargo-build/libcurl-0_4_6.hir --extern docopt=output/cargo-build/libdocopt-0_7_0.hir --extern env_logger=output/cargo-build/libenv_logger-0_4_2.hir --extern error_chain=output/cargo-build/liberror_chain-0_10_0.hir --extern filetime=output/cargo-build/libfiletime-0_1_10.hir --extern flate2=output/cargo-build/libflate2-0_2_19.hir --extern fs2=output/cargo-build/libfs2-0_4_1.hir --extern git2=output/cargo-build/libgit2-0_6_6.hir --extern git2_curl=output/cargo-build/libgit2_curl-0_7_0.hir --extern glob=output/cargo-build/libglob-0_2_11.hir --extern jobserver=output/cargo-build/libjobserver-0_1_6.hir --extern libc=output/cargo-build/liblibc-0_2_22.hir --extern libgit2_sys=output/cargo-build/liblibgit2_sys-0_6_12.hir --extern log=output/cargo-build/liblog-0_3_7.hir --extern num_cpus=output/cargo-build/libnum_cpus-1_4_0.hir --extern rustc_serialize=output/cargo-build/librustc_serialize-0_3_24.hir --extern scoped_tls=output/cargo-build/libscoped_tls-0_1_0.hir --extern semver=output/cargo-build/libsemver-0_7_0.hir --extern serde=output/cargo-build/libserde-1_0_6.hir --extern serde_derive=output/cargo-build/libserde_derive-1_0_6.hir --extern serde_ignored=output/cargo-build/libserde_ignored-0_0_3.hir --extern serde_json=output/cargo-build/libserde_json-1_0_2.hir --extern shell_escape=output/cargo-build/libshell_escape-0_1_3.hir --extern tar=output/cargo-build/libtar-0_4_13.hir --extern tempdir=output/cargo-build/libtempdir-0_3_5.hir --extern term=output/cargo-build/libterm-0_4_5.hir --extern toml=output/cargo-build/libtoml-0_4_1.hir --extern url=output/cargo-build/liburl-1_4_0.hir --extern openssl=output/cargo-build/libopenssl-0_9_12.hir -L output -L /gnu/store/jxq5p3mx2gavj7hws1drz3pndn87lqrl-mrustc-0.8.0/lib/mrust --8<---------------cut here---------------end--------------->8--- The last command exited with exit code 0. For your reference, I've attached the output, also. The mrustc program is a 32-bit executable, which makes sense since the build was for an i686-linux system: --8<---------------cut here---------------start------------->8--- $ file /gnu/store/jxq5p3mx2gavj7hws1drz3pndn87lqrl-mrustc-0.8.0/bin/mrustc /gnu/store/jxq5p3mx2gavj7hws1drz3pndn87lqrl-mrustc-0.8.0/bin/mrustc: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked, interpreter /gnu/store/qk8irm5yp2khq4dj7zcpcaa1g87pfyvw-glibc-2.28/lib/ld-linux.so.2, for GNU/Linux 2.6.32, stripped --8<---------------cut here---------------end--------------->8--- Do I need to do something special to attempt to run this mrustc program in "i686-linux" mode? For example, I see that the guix-daemon sets the Linux kernel's personality to 32 bits by invoking personality(PER_LINUX32) in nix/libstore/build.cc. Maybe mrustc won't fail unless we do that first? -- Chris