ban*_*nji 7 c linux compiler-errors makefile
情况:刚刚安装了linux,试着学习编码c.使用sudo apt-get install build-essential设置.在我的代码中打开nano类型
#include <stdio.h>
int main(int argc, char *argv[])
{
puts("Hello World.\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
打开另一个控制台选项卡,在make ex1中键入然后我的世界向下旋转到我最初的Linux发行版中尚未体验的最黑暗的深渊.
ragnar@ragnar:~/Documents/C$ make ex1
cc -Wall -g ex1.c -o ex1
ex1.c:7:1: fatal error: error closing /tmp/cc8d7Oap.s: No space left on device
}
^
compilation terminated.
make: *** [ex1] Error 1
ragnar@ragnar:~/Documents/C$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb5 4.0G 3.8G 0 100% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 7.9G 8.0K 7.9G 1% /dev
tmpfs 1.6G 1.4M 1.6G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 7.9G 8.1M 7.9G 1% /run/shm
none 100M 28K 100M 1% /run/user
/dev/sdb2 96M 29M 68M 30% /boot/efi
/dev/sdb7 11G 248M 9.5G 3% /home
Run Code Online (Sandbox Code Playgroud)
所有的帮助表示赞赏.
alk*_*alk 12
包含根文件夹(/)的分区是100%已满.根文件夹当前还包含/tmp文件夹,在编译期间用于存储临时文件.作为根文件夹并且tmp文件夹已满,这会失败.
要解决此问题,请添加更多空间,或重新组织现有空间.
作为一种解决方法
mkdir ~/tmp
export TMPDIR=~/tmp
Run Code Online (Sandbox Code Playgroud)
并重试编译.
组织文件系统的灵活方法是使用单独的分区
/
/usr
/home
/var
/tmp
Run Code Online (Sandbox Code Playgroud)
一种懒惰的方法是链接/tmp/到/var/tmp.然而,这可能会导致问题,因为在清理方面,操作系统可能会处理与内容/var/tmp不同的内容/tmp.这就是/tmp/每次启动时都会被删除的内容/var/tmp.