# OSError: [Errno 28] No space left on device



## Gimzo (May 12, 2016)

Hello,

Trying to install Django on my RPi 2 gives me the following error. Can anyone help me to resolve this problem? I'm running FreeBSD on a 32GB SD card.

Many thanks.


```
FreeBSD rpi2 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r298793: Sat Apr 30 06:39:54 UTC 2016

$ dfc -T

FILESYSTEM             TYPE    (=) USED      FREE (-) %USED AVAILABLE     TOTAL MOUNTED ON

/dev/ufs/rootfs        ufs     [===-----------------]   11%     25.1G     28.3G /

devfs                  devfs   [====================]  100%        0B      1.0K /dev

/dev/msdosfs/MSDOSBOOT msdosfs [===-----------------]   15%     42.6M     49.9M /boot/msdos

tmpfs                  tmpfs   [=====---------------]   21%     23.7M     30.0M /tmp

$ pip3 install Django==1.9.6

Collecting Django==1.9.6

  Downloading Django-1.9.6-py2.py3-none-any.whl (6.6MB)

    100% |################################| 6.6MB 8.6kB/s

Exception:

Traceback (most recent call last):

  File "/usr/local/lib/python3.4/site-packages/pip/basecommand.py", line 215, in main

...

OSError: [Errno 28] No space left on device
```


----------



## tobik@ (May 12, 2016)

Pip uses /tmp during building and installing. You have tmpfs(5) mounted on /tmp which has about 23 MB of free space which isn't enough for installing Django (it requires approx. 50MB of space).

I see three ways out of this

 either increase the space allocated for /tmp with tmpfs' size option,
 or don't use tmpfs(5) at all. You have plenty of space on the root partition.
 or override the directory pip uses for temp. files with: `env TMPDIR=/wherever/there/is/enough/space pip3 install Django==1.9.6`.


----------



## wblock@ (May 12, 2016)

There are many existing FreeBSD Django ports and packages, so it can be installed that way.


----------



## Gimzo (May 12, 2016)

Many thanks, tobik, for your swift reply. I decided to disable tmpfs. I was then able to successfully install Django. 


```
$ dfc -T

FILESYSTEM             TYPE    (=) USED      FREE (-) %USED AVAILABLE     TOTAL MOUNTED ON 

/dev/ufs/rootfs        ufs     [===-----------------]   11%     25.1G     28.3G /

devfs                  devfs   [====================]  100%        0B      1.0K /dev

/dev/msdosfs/MSDOSBOOT msdosfs [===-----------------]   15%     42.6M     49.9M /boot/msdos

$ sudo pip3 install Django==1.9.6

Password:

Collecting Django==1.9.6

  Using cached Django-1.9.6-py2.py3-none-any.whl

Installing collected packages: Django

Successfully installed Django-1.9.6
```

I've read that disabling tmpfs increases wear on the SD card. Is it a good idea to disable tmpfs or to increase the size? 

Thanks to wblock@ for pointing out the existence of Django packages.


----------



## SirDice (May 13, 2016)

The whole building process would put a strain on the card, that's for sure. Lots of writes/deletes which does indeed increase wear. If you're worried about that there's a way to build ARM packages for your Pi on an AMD64/i386 machine. It's somewhat slow but still faster than doing it on the Pi itself and you won't wear anything out


----------

