guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rust 1.19 fails to build on i686 on ‘staging’


From: Danny Milosavljevic
Subject: Re: Rust 1.19 fails to build on i686 on ‘staging’
Date: Fri, 15 Feb 2019 11:51:32 +0100

Hi Chris,

On Fri, 15 Feb 2019 01:11:02 -0800
Chris Marusich <address@hidden> wrote:

> 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---

> 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?

Oh, that might be related.  I didn't think of that.

Can you try the following (if you didn't already)?

$ guix environment --pure -s i686-linux address@hidden
[env]$ cd /tmp/guix-build-rust-1.19.0.drv-0
[env]$ . environment-variables
[env]$ cd rustc-1.19.0-src/
[env]$ /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

(i.e. the things you did before, just inside a i686-linux guix environment.  
That only provides minimal--almost no--isolation from the host, so it should 
allow us to test whether the personality is the only possible culprit)

Attachment: pgp6QhiMPyYbX.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]