Arch: yaourt – No space left on device

Автор: | 24/01/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/ – проверяем свободное место:

[simterm]

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

[/simterm]

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

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

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

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

[simterm]

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

[/simterm]

Готово.