OpenBSDシステムのシステムディスクの分割中にエラーが発生したため、現在の領域が不足しています/usr
。
openbsd$ df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/sd0a 2057756 141352 1813520 7% /
/dev/sd0k 30699004 66384 29097672 0% /home
/dev/sd0d 5202236 746020 4196108 15% /tmp
/dev/sd0f 4122108 3002484 913520 77% /usr
/dev/sd0g 2057756 387016 1567856 20% /usr/X11R6
/dev/sd0h 11366780 552236 10246208 5% /usr/local
/dev/sd0j 12379516 4 11760540 0% /usr/obj
/dev/sd0i 3857212 2060552 1603800 56% /usr/src
/dev/sd0e 8218940 67776 7740220 1% /var
最新バージョンのGCCをインストールしようとしましたが、エラーが発生しましたNo space left on device
。
openbsd$ cd /usr/ports/lang/gcc/6
openbsd$ doas make install
{{ ... thouands of lines omitted for brevity ... }}
tar: Unable to create gcc-6.4.0/install-sh: No space left on device
tar: Unable to create gcc-6.4.0/ylwrap: No space left on device
tar: Unable to create gcc-6.4.0/LAST_UPDATED: No space left on device
tar: Unable to create gcc-6.4.0/NEWS: No space left on device
tar: Unable to create gcc-6.4.0/MD5SUMS: No space left on device
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2555 'do-extract': @PATH=/usr/ports/pobj/gcc-6.4.0/bin:/usr/bin:/bin:/usr/sbin:/s...)
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2528 '/usr/ports/pobj/gcc-6.4.0/.extract_done')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2003 '/usr/ports/packages/amd64/all/gcc-6.4.0p0.tgz')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2465 '_internal-package')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2444 'package')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2021 '/var/db/pkg/gcc-6.4.0p0/+CONTENTS')
*** Error 1 in /usr/ports/lang/gcc/6 (/usr/ports/infrastructure/mk/bsd.port.mk:2444 'install')
大量のスペースを消費しないように、ターゲットファイルを別のディレクトリにビルドすることは可能ですか/usr/ports
?同様のことを試しましたが、cd /tmp/build && make -C /usr/ports/lang/gcc/6 install
中間ファイルはまだ同じディレクトリに作成されますMakefile
。
答え1
WRKOBJDIR
この変数をビルドを実行する必要があるディレクトリに設定できます。この変数の説明については、次を参照してください。bsd.port.mk(5)
。
たとえば、次のように使用できます。
cd /usr/ports/lang/gcc/6
doas env WKOBJDIR=/tmp/build make install
/etc/mk.conf
または、常に.NETで変数を設定するのとは異なる場所でポートをコンパイルしたい場合/usr/ports/pobj
。
lang/gcc/6
ポートも参照してください削除するGCC 8では廃止されたため、今日(2019-04-25)ポートツリーから削除されました。