Hi Chris, upstream says that compiling rust 1.19.0 works fine for them on i686 with their mrustc master (since they have applied our variable-length integer decoding patch): https://github.com/thepowersgang/mrustc/issues/108 >Hmm... works for me, using gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 on linux 4.9.0-8-686-pae >Compiling cargo ran sucessfully. Would you have some time and a free computer to be able to build rust 1.19.0 with ./pre-inst-env guix build -K -s i686-linux rust@1.19.0 on guix master with the patch below? My laptop is currently trying to survive the merge of staging to master and keeps running out of memory if I try to start a rust build in parallel, even with swap. The patch to use mrustc master is: diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index e128bb22b..f2a01ded6 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -97,17 +97,35 @@ (package (name "mrustc") (version "0.8.0") + ;(source (origin + ; (method git-fetch) + ; (uri (git-reference + ; (url "https://github.com/thepowersgang/mrustc.git") + ; (commit (string-append "v" version)))) + ; (file-name (git-file-name name version)) + ; (sha256 + ; (base32 + ; "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i")) + ; (patches + ; (search-patches "mrustc-0.8.0-fix-use-after-free.patch" + ; "mrustc-0.8.0-fix-variable-length-integer-receiving.patch" + ; "mrustc-0.8.0-fix-emulated-i128-multiply-divide.patch" + ; "mrustc-0.8.0-fix-i128-overflow-handling.patch")))) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/thepowersgang/mrustc.git") - (commit (string-append "v" version)))) + (commit "7b6fa5c6e7d6838c2479280dd3f8d14a43c13899"))) (file-name (git-file-name name version)) (sha256 (base32 - "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i")) + "0ki5jv76gmvd0q9y2lixzn4xhy1jamba3f77bk8cz2k4ix6yx5z1")) (patches - (search-patches "mrustc-0.8.0-fix-variable-length-integer-receiving.patch")))) + (search-patches ;"mrustc-0.8.0-fix-use-after-free.patch" + ;"mrustc-0.8.0-fix-variable-length-integer-receiving.patch" + ;"mrustc-0.8.0-fix-emulated-i128-multiply-divide.patch" + ;"mrustc-0.8.0-fix-i128-overflow-handling.patch" + )))) Also have to make rust@1.19.0 public or use an "-e" expression. If you don't have time, no worries, I'll eventually get to it.