Arch: yaourt — No space left on device

Автор: | 01/24/2019
 

Требуется установить пакет libmysqlclient для работы с API MySQL из C.

Описание пакета — тут>>>.

Во время сборки — yaourt сообщает об ошибке:

Scanning dependencies of target mysql_protocol
[100%] Building CXX object router/src/mysql_protocol/CMakeFiles/mysql_protocol.dir/src/handshake_packet.cc.o
Unknown file/directory /tmp/yaourt-tmp-setevoy/aur-libmysqlclient/src/mysql-8.0.13/router/src/mysql_protocol/../src/router/include.
Unknown file/directory /tmp/yaourt-tmp-setevoy/aur-libmysqlclient/src/mysql-8.0.13/router/src/mysql_protocol/../src/harness/include.
{standard input}: Assembler messages:
{standard input}: Fatal error: can’t close CMakeFiles/mysql_protocol.dir/src/handshake_packet.cc.o: No space left on device
make[2]: *** [router/src/mysql_protocol/CMakeFiles/mysql_protocol.dir/build.make:63: router/src/mysql_protocol/CMakeFiles/mysql_protocol.dir/src/handshake_packet.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:11732: router/src/mysql_protocol/CMakeFiles/mysql_protocol.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
==> ERROR: A failure occurred in build().
Aborting…
==> ERROR: Makepkg was unable to build mysql.
==> Restart building libmysqlclient ? [y/N]

Т.к. сборка выполняется в /tmp/ — проверяем свободное место:

df -h /tmp/
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           7.8G  7.8G  380K 100% /tmp

В ncdu видно, что всё место занято именно каталогом yaourt:

Параметр для указания временного каталога определяется в файле /etc/yaourtrc:

...
#TMPDIR="/tmp"
...

Собственно, варианта есть два — либо почистить /tmp/ вручную, т.к. машина давно не ребуталась, либо — указать $TMPDIR, и продолжить сборку, например:

sudo mkdir /var/run/tmp
sudo chown setevoy:setevoy /var/run/tmp
export TMPDIR=/var/run/tmp
yaourt -S libmysqlclient

Готово.