lang/rust will not build with less that 225M of free space in /tmp. Why it writes to /tmp instead of its own word directory is an unrevealed mystery. That partition has 13G of free space which I would hope to be sufficient. Can rust's build process either a. test for available space or b. write to the port work directory? I doubt many have /usr/ports mounted with that 225M of free space.
Ports other than lang/rust will likely be affected by a space limited
/tmp. Since rustc and others respect TMPDIR and the framework exports it
via MAKE_ENV and CONFIGURE_ENV too, I'd just set TMPDIR in make.conf to
somewhere with enough space.
(In reply to Tobias Kortkamp from comment #1)
> Ports other than lang/rust …
Please, do I read that correctly?
I mean, what about lang/rust itself?
Sidetracking: <https://forums.FreeBSD.org/threads/8877/post-530289> was not a failure to build, however killings occurred (out of swap space) during the packaging phase of rust during a run of poudriere. From my postscript there:
% df -h /tmp
Filesystem Size Used Avail Capacity Mounted on
tmpfs 4.7G 1.6G 3.1G 33% /tmp
Semantics. The build process fails to complete, if you insist.
4.7G for tmp is quite a bit of space. Not everyone has that. Not everyone lays out their filesystem to accommodate /tmp as part of the build/staging process, since /usr is my expectation. Seems like a POLA violation but I can simply lock these ports until they can be installed as packages. I still build from source. I find pkg to be full of surprises and I don't care for those. In what world is this an upgrade?
Installed packages to be UPGRADED:
py38-openssl: 20.0.1 -> 19.1.0,1
Especially when the next entry is an actual downgrade (higher version number to lower).
Installed packages to be DOWNGRADED:
protobuf: 3.17.3,1 -> 3.14.0,1
A commit in branch main references this bug:
Author: Tobias Kortkamp <tobik@FreeBSD.org>
AuthorDate: 2021-09-06 17:16:38 +0000
Commit: Tobias Kortkamp <tobik@FreeBSD.org>
CommitDate: 2021-09-06 19:28:28 +0000
lang/rust*: Mk/Uses/cargo.mk: Move TMPDIR to WRKDIR
rustc stashes intermediary files in TMPDIR (default /tmp) which
might cause issues for users that for some reason space limit their
/tmp. WRKDIR should have plenty of space.
Other ports that use rustc might be affected too, but set it only
in USES=cargo and lang/rust* ports for now.
With hat: rust
Mk/Uses/cargo.mk | 8 ++++++++
lang/rust-bootstrap/Makefile | 5 +++++
lang/rust/Makefile | 6 ++++++
3 files changed, 19 insertions(+)
Per the advice in an earlier reply, I set TMPDIR to be /usr/ports and the build/staging processes filled that filesystem as well…15G of free space, pushing it to 102% and breaking other processes that expected to find space.
I don't know how to define "plenty of space" but 15G seems fairly capacious. I suppose there is no way to check to see if TMPDIR is filling up at various checkpoints or, as suggested earlier, test to see it TMPDIR has enough free space before beginning.
Locking it and installing/updating only as a pkg from now on.