From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: Re: Rust 1.19 fails to build on i686 on =?UTF-8?Q?=E2=80=98stagin?= =?UTF-8?Q?g=E2=80=99?= Date: Fri, 15 Feb 2019 11:51:32 +0100 Message-ID: <20190215115132.46844896@scratchpost.org> References: <87k1ioq21m.fsf@gnu.org> <20190128162705.052961e4@scratchpost.org> <877eenrhbj.fsf@gnu.org> <20190130185900.7f3d30a9@scratchpost.org> <20190205122839.06b482db@scratchpost.org> <20190205123510.510731a6@scratchpost.org> <20190211223456.0779cf68@scratchpost.org> <87o97hz0ra.fsf@gmail.com> <20190212130658.2c1f2a23@scratchpost.org> <878sykbdgg.fsf@gmail.com> <87imxo9r0k.fsf@gmail.com> <87a7izhtqw.fsf@gmail.com> <20190214181401.661c0430@scratchpost.org> <87imxlju1l.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/Rj4y0ljZZqHTN4b0k.Q4ph2"; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:41010) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gubGN-0007nt-OH for guix-devel@gnu.org; Fri, 15 Feb 2019 06:02:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gub5y-0005RO-AX for guix-devel@gnu.org; Fri, 15 Feb 2019 05:51:54 -0500 In-Reply-To: <87imxlju1l.fsf@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Chris Marusich Cc: Guix-devel --Sig_/Rj4y0ljZZqHTN4b0k.Q4ph2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Chris, On Fri, 15 Feb 2019 01:11:02 -0800 Chris Marusich 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: >=20 > --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/t= ools/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=3Doutput/cargo-build/libcargo-0_20_0.hir --exter= n crates_io=3Doutput/cargo-build/libcrates_io-0_9_0.hir --extern crossbeam= =3Doutput/cargo-build/libcrossbeam-0_2_10.hir --extern curl=3Doutput/cargo-= build/libcurl-0_4_6.hir --extern docopt=3Doutput/cargo-build/libdocopt-0_7_= 0.hir --extern env_logger=3Doutput/cargo-build/libenv_logger-0_4_2.hir --ex= tern error_chain=3Doutput/cargo-build/liberror_chain-0_10_0.hir --extern fi= letime=3Doutput/cargo-build/libfiletime-0_1_10.hir --extern flate2=3Doutput= /cargo-build/libflate2-0_2_19.hir --extern fs2=3Doutput/cargo-build/libfs2-= 0_4_1.hir --extern git2=3Doutput/cargo-build/libgit2-0_6_6.hir --extern git= 2_curl=3Doutput/cargo-build/libgit2_curl-0_7_0.hir --extern glob=3Doutput/c= argo-build/libglob-0_2_11.hir --extern jobserver=3Doutput/cargo-build/libjo= bserver-0_1_6.hir --extern libc=3Doutput/cargo-build/liblibc-0_2_22.hir --e= xtern libgit2_sys=3Doutput/cargo-build/liblibgit2_sys-0_6_12.hir --extern l= og=3Doutput/cargo-build/liblog-0_3_7.hir --extern num_cpus=3Doutput/cargo-b= uild/libnum_cpus-1_4_0.hir --extern rustc_serialize=3Doutput/cargo-build/li= brustc_serialize-0_3_24.hir --extern scoped_tls=3Doutput/cargo-build/libsco= ped_tls-0_1_0.hir --extern semver=3Doutput/cargo-build/libsemver-0_7_0.hir = --extern serde=3Doutput/cargo-build/libserde-1_0_6.hir --extern serde_deriv= e=3Doutput/cargo-build/libserde_derive-1_0_6.hir --extern serde_ignored=3Do= utput/cargo-build/libserde_ignored-0_0_3.hir --extern serde_json=3Doutput/c= argo-build/libserde_json-1_0_2.hir --extern shell_escape=3Doutput/cargo-bui= ld/libshell_escape-0_1_3.hir --extern tar=3Doutput/cargo-build/libtar-0_4_1= 3.hir --extern tempdir=3Doutput/cargo-build/libtempdir-0_3_5.hir --extern t= erm=3Doutput/cargo-build/libterm-0_4_5.hir --extern toml=3Doutput/cargo-bui= ld/libtoml-0_4_1.hir --extern url=3Doutput/cargo-build/liburl-1_4_0.hir --e= xtern openssl=3Doutput/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 rust@1.19.0 [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 --crat= e-tag 0_20_0 -g --cfg debug_assertions -O -o output/cargo-build/cargo -L ou= tput/cargo-build --extern cargo=3Doutput/cargo-build/libcargo-0_20_0.hir --= extern crates_io=3Doutput/cargo-build/libcrates_io-0_9_0.hir --extern cross= beam=3Doutput/cargo-build/libcrossbeam-0_2_10.hir --extern curl=3Doutput/ca= rgo-build/libcurl-0_4_6.hir --extern docopt=3Doutput/cargo-build/libdocopt-= 0_7_0.hir --extern env_logger=3Doutput/cargo-build/libenv_logger-0_4_2.hir = --extern error_chain=3Doutput/cargo-build/liberror_chain-0_10_0.hir --exter= n filetime=3Doutput/cargo-build/libfiletime-0_1_10.hir --extern flate2=3Dou= tput/cargo-build/libflate2-0_2_19.hir --extern fs2=3Doutput/cargo-build/lib= fs2-0_4_1.hir --extern git2=3Doutput/cargo-build/libgit2-0_6_6.hir --extern= git2_curl=3Doutput/cargo-build/libgit2_curl-0_7_0.hir --extern glob=3Doutp= ut/cargo-build/libglob-0_2_11.hir --extern jobserver=3Doutput/cargo-build/l= ibjobserver-0_1_6.hir --extern libc=3Doutput/cargo-build/liblibc-0_2_22.hir= --extern libgit2_sys=3Doutput/cargo-build/liblibgit2_sys-0_6_12.hir --exte= rn log=3Doutput/cargo-build/liblog-0_3_7.hir --extern num_cpus=3Doutput/car= go-build/libnum_cpus-1_4_0.hir --extern rustc_serialize=3Doutput/cargo-buil= d/librustc_serialize-0_3_24.hir --extern scoped_tls=3Doutput/cargo-build/li= bscoped_tls-0_1_0.hir --extern semver=3Doutput/cargo-build/libsemver-0_7_0.= hir --extern serde=3Doutput/cargo-build/libserde-1_0_6.hir --extern serde_d= erive=3Doutput/cargo-build/libserde_derive-1_0_6.hir --extern serde_ignored= =3Doutput/cargo-build/libserde_ignored-0_0_3.hir --extern serde_json=3Doutp= ut/cargo-build/libserde_json-1_0_2.hir --extern shell_escape=3Doutput/cargo= -build/libshell_escape-0_1_3.hir --extern tar=3Doutput/cargo-build/libtar-0= _4_13.hir --extern tempdir=3Doutput/cargo-build/libtempdir-0_3_5.hir --exte= rn term=3Doutput/cargo-build/libterm-0_4_5.hir --extern toml=3Doutput/cargo= -build/libtoml-0_4_1.hir --extern url=3Doutput/cargo-build/liburl-1_4_0.hir= --extern openssl=3Doutput/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 sho= uld allow us to test whether the personality is the only possible culprit) --Sig_/Rj4y0ljZZqHTN4b0k.Q4ph2 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlxmmbQACgkQ5xo1VCww uqURAQf8C1PJ7AyVJlYVGlIso0h6YkgCDz/8WeYpcvz3zorD493DBeGXwJdIi1FX E1SdFw1I0vSh3wbn1rlY29HqKjPRAhcGM7XMH+0jxHvojx85l/hMQwNv2minmHvE o9/cKxwv7knxwyBzbSOgAFE1aorleOR0rnjgcBsRrdKeUsuJ/aDpu76g7XoCmpq1 OebCwUJdmVsyL0rbA0kI4WZR8U5iK2sIWHvw9vU0L2i+/x/g2PuaXoPvQph6A3mX c0Nb6BG83fTRvYdz5f3aWT5WGKgINBR0rHng70C4Rr75Y9RP3VxMtHDGW6Ow5nx4 cUGWotRFt4qfFPydAvfpfnfEMWZO2Q== =tP0Q -----END PGP SIGNATURE----- --Sig_/Rj4y0ljZZqHTN4b0k.Q4ph2--