While emerging rust it checks whether you have 9216 MiB of disk space, which is not enough for rust-1.47.0-r2. Mine wouldn't even compile with 12GB of RAM. I needed to set the amount to set the size of my RAM disk to at least 14GB to get it to compile. Reproducible: Always Steps to Reproduce: 1.emerge =dev-lang/rust-1.47.0-r2 with less than 14GB of disk space Actual Results: =dev-lang/rust-1.47.0-r2 emerged successfully Expected Results: Compilation gave an error that I ran out of disk space.
Please at least provide output of `emerge --info dev-lang/rust` The ebuild tries to do some analysis to figure out more precise space requirements and knowing what you used may be helpful to know what caused the difference.
Created attachment 675604 [details] emerge log dev-lang/rust-1.4.7.0-r2 It also fails here on 3 different systems with up to 12.3G allocated to /var/tmp/portage either on RAM or on disk: # emerge --info dev-lang/rust Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.uk.gentoo.org/gentoo-portage/ priority: -1000 sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: local location: /usr/local/portage masters: gentoo priority: 100 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE AdobeFlash-11.x RAR" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" openmp pam pcre png policykit qt5 readline seccomp semantic-desktop split-usr sse sse2 sse3 sse4_1 ssl ssse3 svg tcpd udev udisks unicode upower webp xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 sse4_1 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2 php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby25 ruby26" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= dev-lang/rust-1.46.0::gentoo was built with the following: USE="-clippy -debug -doc -libressl (-miri) (-nightly) (-parallel-compiler) -rls -rustfmt (-system-bootstrap) (-system-llvm) -wasm" CPU_FLAGS_X86="sse2" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore"
Confirmed. rust-1.48 does not even compile in a 12GiB tmpfs but fails with "No space left on device".
Okay, summary was about rust-1.47 so I restore the original one. For the record. rust-1.47 could be built in a 12GiB tmpfs but rust-1.48 can not.
bug 753428 comes to mind?
emerge --info dev-lang/rust Portage 3.0.9 (python 3.7.9-final-0, default/linux/amd64/17.1/systemd, gcc-9.3.0, glibc-2.32-r2, 5.8.16-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-5.8.16-gentoo-x86_64-AMD_Ryzen_7_2700X_Eight-Core_Processor-with-gentoo-2.7 KiB Mem: 32844396 total, 29875048 free KiB Swap: 6000636 total, 6000636 free Timestamp of repository gentoo: Fri, 27 Nov 2020 19:30:01 +0000 Head commit of repository gentoo: 8de0bd0885c48a3260ab1db1faafd53a5f60ad7d sh bash 5.0_p18 ld GNU ld (Gentoo 2.34 p6) 2.34.0 app-shells/bash: 5.0_p18::gentoo dev-lang/perl: 5.30.3::gentoo dev-lang/python: 2.7.18-r4::gentoo, 3.6.12::gentoo, 3.7.9::gentoo, 3.8.6::gentoo, 3.9.0::gentoo dev-util/cmake: 3.17.4-r1::gentoo sys-apps/baselayout: 2.7::gentoo sys-apps/sandbox: 2.20::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo sys-devel/automake: 1.16.2-r1::gentoo sys-devel/binutils: 2.34-r2::gentoo sys-devel/gcc: 9.3.0-r1::gentoo sys-devel/gcc-config: 2.3.2-r1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.9::gentoo (virtual/os-headers) sys-libs/glibc: 2.32-r2::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: no sync-rsync-verify-max-age: 24 sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: local location: /var/db/repos/local masters: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=znver1 -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=znver1 -O2 -pipe -fomit-frame-pointer" DISTDIR="/var/cache/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-march=znver1 -O2 -pipe -fomit-frame-pointer" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=znver1 -O2 -pipe -fomit-frame-pointer" GENTOO_MIRRORS="https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ http://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ rsync://mirror.eu.oneandone.net/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://mirror.netcologne.de/gentoo/ https://mirror.netcologne.de/gentoo/ http://mirror.netcologne.de/gentoo/ rsync://mirror.netcologne.de/gentoo/ https://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ https://ftp.halifax.rwth-aachen.de/gentoo/ http://ftp.halifax.rwth-aachen.de/gentoo/ ftp://ftp.halifax.rwth-aachen.de/gentoo/ rsync://ftp.halifax.rwth-aachen.de/gentoo/ https://ftp.fau.de/gentoo http://ftp.fau.de/gentoo ftp://ftp.fau.de/gentoo rsync://ftp.fau.de/gentoo https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ rsync://ftp-stud.hs-esslingen.de/gentoo/ https://mirror.leaseweb.com/gentoo/ http://mirror.leaseweb.com/gentoo/ rsync://mirror.leaseweb.com/gentoo/ https://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo rsync://ftp.snt.utwente.nl/gentoo" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j16" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X acl alsa amd64 berkdb bzip2 cairo caps cli crypt cups cxx dri flac fortran gbm gdbm gssapi gstreamer iconv icu idn introspection ipv6 jpeg kde kerberos libglvnd libtirpc lzma multilib ncurses networkmanager nls nptl ogg openal opengl openmp pam pango pcre perl plasma png pulseaudio python qml qt5 readline ruby samba sdl seccomp semantic-desktop split-usr sqlite ssl systemd tcpd theora tiff truetype udev unicode vala vorbis vulkan wayland xattr xcb zeroconf zlib" ABI_X86="32 64" ADA_TARGET="gnat_2018" ALSA_CARDS="ca0132" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" CURL_SSL="gnutls" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev joystick keyboard libinput mouse" KERNEL="linux" L10N="en nl ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="X86" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2 php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7" RUBY_TARGETS="ruby25 ruby26" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= dev-lang/rust-1.47.0-r2::gentoo was built with the following: USE="-clippy -debug (-doc) -libressl (-miri) (-nightly) (-parallel-compiler) -rls -rustfmt (-system-bootstrap) (-system-llvm) -test -wasm" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARM -AVR -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" FEATURES="qa-unresolved-soname-deps distlocks userpriv parallel-fetch protect-owned ipc-sandbox network-sandbox merge-sync binpkg-logs xattr strict pid-sandbox fixlafiles assume-digests preserve-libs binpkg-dostrip multilib-strict news sandbox usersync unmerge-orphans usersandbox userfetch sfperms unknown-features-warn ebuild-locks binpkg-docompress config-protect-if-modified unmerge-logs"
My recent statistics from build logs of dev-lang/rust: dev-lang/rust-1.46.0 (2020-08-28-08-58-07): * Final size of build directory: 8722420 KiB ( 8.3 GiB) * Final size of installed tree: 486072 KiB (474.6 MiB) dev-lang/rust-1.47.0 (2020-10-11-16-47-10): * Final size of build directory: 10201208 KiB ( 9.7 GiB) * Final size of installed tree: 542400 KiB (529.6 MiB) dev-lang/rust-1.47.0-r1 (2020-10-15-00-08-37): * Final size of build directory: 13502428 KiB ( 12.8 GiB) * Final size of installed tree: 542416 KiB (529.7 MiB) dev-lang/rust-1.47.0-r1 (2020-11-24-10-12-16): * Final size of build directory: 13502548 KiB ( 12.8 GiB) * Final size of installed tree: 542416 KiB (529.7 MiB) dev-lang/rust-1.48.0 (2020-11-25-13-07-14): * Final size of build directory: 15909012 KiB ( 15.1 GiB) * Final size of installed tree: 463804 KiB (452.9 MiB) dev-lang/rust-1.48.0 (2020-11-25-22-08-22): * Final size of build directory: 15949164 KiB ( 15.2 GiB) * Final size of installed tree: 465996 KiB (455.0 MiB) (All with USE="-system-bootstrap -system-llvm")
With USE="system-bootstrap system-llvm" it seems kind of modest on my end which is what made me wonder where this 14GB came from, but results are still a bit above what's checked. Checking for at least 6144 MiB disk space [...] dev-lang/rust-1.48.0 (2020-11-25 23:26:04) * Final size of build directory: 7749408 KiB ( 7.3 GiB) * Final size of installed tree: 247112 KiB (241.3 MiB)
I have a feeling -system-llvm and amount of enabled llvm targets plays a big role here. I still haven't determined build time sizes, building different combination of flags until I determine a pattern I could use in size calc function. If I simply bump reqs to 16G a lot of people going to be PISSED ( for a good reason ).
Same here: $> emerge --info dev-lang/rust Portage 3.0.9 (python 3.7.9-final-0, default/linux/amd64/17.1, gcc-9.3.0, glibc- 2.32-r2, 5.4.72-gentoo-upd x86_64) ================================================================= System Settings ================================================================= System uname: Linux-5.4.72-gentoo-upd-x86_64-AMD_Ryzen_5_3400G_with_Radeon_Vega_ Graphics-with-gentoo-2.7 KiB Mem: 30821452 total, 16854356 free KiB Swap: 4194300 total, 4194300 free Timestamp of repository gentoo: Tue, 01 Dec 2020 01:30:01 +0000 Head commit of repository gentoo: 93e915dd5b6402818089203c77228ad300e3047e sh bash 5.0_p18 ld GNU ld (Gentoo 2.34 p6) 2.34.0 distcc 3.3.3 x86_64-pc-linux-gnu [disabled] ccache version 3.7.12 [disabled] app-shells/bash: 5.0_p18::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.30.3::gentoo dev-lang/python: 2.7.18-r4::gentoo, 3.7.9::gentoo, 3.8.6::gentoo, 3.9.0 ::gentoo dev-util/ccache: 3.7.12::gentoo dev-util/cmake: 3.17.4-r1::gentoo sys-apps/baselayout: 2.7::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.20::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo sys-devel/automake: 1.16.2-r1::gentoo sys-devel/binutils: 2.34-r2::gentoo sys-devel/gcc: 9.3.0-r1::gentoo sys-devel/gcc-config: 2.3.2-r1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.32-r2::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes crossdev location: /var/db/repos/localrepo-crossdev masters: gentoo priority: 10 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/q ualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/ fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.2/ext-active/ /e tc/php/apache2-php7.3/ext-active/ /etc/php/apache2-php7.4/ext-active/ /etc/php/c gi-php7.2/ext-active/ /etc/php/cgi-php7.3/ext-active/ /etc/php/cgi-php7.4/ext-ac tive/ /etc/php/cli-php7.2/ext-active/ /etc/php/cli-php7.3/ext-active/ /etc/php/c li-php7.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/var/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=y" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PER L5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG _CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-march=athlon64 -O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-pro tect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multil ib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect- owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unm erge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=athlon64 -O2 -pipe" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" PKGDIR="/srv/http/packages" PORTAGE_BINHOST="http://gentoo.voelkizetti.net/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir- times --compress --force --whole-file --delete --stats --human-readable --timeou t=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="aac acl alsa amd64 apache2 berkdb bzip2 cli crypt cups curl dri elogind ffm peg flac fortran gd gdbm gpg iconv icu ipv6 jpeg json ldap libglvnd libtirpc lm_ sensors mp3 mp4 multilib mysqli ncurses nls nptl ogg openmp openssl opus pam pcr e pdf php pkcs11 png postgres readline seccomp split-usr sqlite ssl tcpd theora threads tiff udisks unicode vorbis xattr xml zlib" ABI_X86="64" ADA_TARGET="gnat _2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10 k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 tr ident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="access_compat ali as auth_basic authn_core authn_file authz_core authz_host authz_owner authz_user authn_dbm authz_dbm autoindex cache dav dav_fs dav_lock dbus dir env expires fi lter hal headers include log_config mime mime_magic negotiation proxy proxy_ajp proxy_html proxy_http proxy_wstunnel ratelimit rewrite socache_shmcb unique_id u nixd userdir xml2enc" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon sheets wor ds" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAG S_X86="aes avx f16c fma3 fma4 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4 _2 sse4a ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermo re fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oc eanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsi p tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de en" L CD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses tex t" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TAR GET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGET S="php7-2 php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_ TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby25 rub y26" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ip p2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhc pmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZI P2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= dev-lang/rust-1.46.0::gentoo was built with the following: USE="-clippy -debug -doc -libressl (-miri) (-nightly) (-parallel-compiler) -rls -rustfmt (-system-bootstrap) (-system-llvm) -wasm" ABI_X86="(64) -32 (-x32)" CPU _FLAGS_X86="sse2" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore"
I just compiled dev-lang/rust-1.48.0 with the system-llvm USE flag enabled on a different machine and the usage of my tmpfs was 11,6GB compared to 13,4GB when compiling dev-lang/rust-1.47.0 with the system-llvm USE flag disabled. So there's definitely a difference between with the USE flag enabled and disabled, but 9,2GB is just not enough. You'll at least need to bump it to 12GB for it to compile successfully. The fstab on which I compiled dev-lang/rust-1.48.0 with the system-llvm USE flag enabled has is the following: tmpfs /var/tmp/portage tmpfs size=12G,uid=portage,gid=portage,mode=775,noatime 0 0
it already does come calculation based on which flags are enabled ( just not which rust targets ) base requirement is 6GB right now and bumping it will bump the end result. I just don't want to bump it too much. pre_build_checks() { local M=6144 M=$(( $(usex clippy 128 0) + ${M} )) M=$(( $(usex miri 128 0) + ${M} )) M=$(( $(usex rls 512 0) + ${M} )) M=$(( $(usex rustfmt 256 0) + ${M} )) M=$(( $(usex system-llvm 0 2048) + ${M} )) M=$(( $(usex wasm 256 0) + ${M} )) M=$(( $(usex debug 15 10) * ${M} / 10 )) eshopts_push -s extglob if is-flagq '-g?(gdb)?([1-9])'; then M=$(( 15 * ${M} / 10 )) fi eshopts_pop M=$(( $(usex system-bootstrap 0 1024) + ${M} )) M=$(( $(usex doc 256 0) + ${M} )) CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} }
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec98673b8287ce4dabcd8b673b2d4b56e86a173e commit ec98673b8287ce4dabcd8b673b2d4b56e86a173e Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-12-16 20:49:38 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-12-16 20:49:38 +0000 dev-lang/rust: update requirements check function Bug: https://bugs.gentoo.org/757276 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/rust-1.47.0-r2.ebuild | 45 ++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 8 deletions(-)
I've updated 1.47.0-r2 as I could, will port to other rusts as I measure numbers. It's very hard to get precise numbers due to multiple factors involved, as if we set it too high, users will be angry that ebuild dies. if we set it too low, ebuild will die mid-build due to out-of-space or out-of-ram conditions. But generally if you have 16G or less of ram - be prepared to use non-tmpfs space to compile rust (like for browsers, libreoffice and other big apps) 32G ram machines can safely compile in tmpfs, usually.
Hello Georgy, Would you mind porting your changes to rust-1.48.0? It's quite frustrating when you get out of space after hours of compiling. I suppose 16 GiB would be a reasonable requirement. Thanks in advance!
I'm hitting the same issue with 16 GB of tmpfs on rust-1.51.0.
old versions deleted. discussion going on in https://bugs.gentoo.org/783768