| View previous topic :: View next topic |
| Author |
Message |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Wed May 04, 2011 11:57 pm Post subject: [SOLVED] - IOError: [Errno 28] No space left on device |
|
|
I'm getting this message every time I try to emerge. My first instinct is to think that one of my disk partitions is full, but they aren't.
Here's an example:
| Code: | Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) media-gfx/paint-mono-0.1.63
* paintdotnet-0.1.63.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
Traceback (most recent call last):
File "/usr/bin/emerge", line 43, in <module>
retval = emerge_main()
File "/usr/lib64/portage/pym/_emerge/main.py", line 1732, in emerge_main
myopts, myaction, myfiles, spinner)
File "/usr/lib64/portage/pym/_emerge/actions.py", line 439, in action_build
retval = mergetask.merge()
File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1184, in merge
rval = self._merge()
File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1522, in _merge
self._main_loop()
File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1672, in _main_loop
self._poll_loop()
File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 167, in _poll_loop
handler(f, event)
File "/usr/lib64/portage/pym/_emerge/SpawnProcess.py", line 200, in _output_handler
files.log.flush()
IOError: [Errno 28] No space left on device
|
What does this error message mean? Is it just misleading? How can I fix this? I already tried eclean, which was just a stab in the dark. Good thing I finally remembered to do that, but it didn't solve the problem.
Any help would be much appreciated.
Last edited by arcfxn on Wed May 11, 2011 10:29 pm; edited 1 time in total |
|
| Back to top |
|
 |
chithanh Developer

Joined: 05 Aug 2006 Posts: 1390 Location: Berlin, Germany
|
Posted: Thu May 05, 2011 2:13 am Post subject: |
|
|
| You may be out of inodes, especially if you use ext3/4 with many small files (e.g. portage tree). Check with |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Thu May 05, 2011 2:17 am Post subject: |
|
|
| chithanh wrote: | | You may be out of inodes, especially if you use ext3/4 with many small files (e.g. portage tree). Check with |
Well I'm not exactly sure what that means, but the highest use percentage I see is 43.
Here's the output:
| Code: | Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 983488 421936 561552 43% /
devtmpfs 498754 947 497807 1% /dev
/dev/sda5 983488 21664 961824 3% /home
/dev/sda6 59015168 38664 58976504 1% /data
shm 507144 1 507143 1% /dev/shm
tmpfs 507144 101226 405918 20% /var/tmp/portage |
|
|
| Back to top |
|
 |
chithanh Developer

Joined: 05 Aug 2006 Posts: 1390 Location: Berlin, Germany
|
Posted: Thu May 05, 2011 2:19 am Post subject: |
|
|
| Code: | | tmpfs 507144 101226 405918 20% /var/tmp/portage | You have PORTAGE_TMPDIR on tmpfs. That uses half your physical memory by default and can run full even when your partitions aren't full. |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Thu May 05, 2011 2:21 am Post subject: |
|
|
| Okay. Can I change that in a configuration file somewhere? I'm not sure how it got there, unless that's default. I followed the manual closely, but this is still my first gentoo build so I'm sure there are things (like this) that I didn't do correctly. It seems strange to me that this would suddenly happen after many months of stability, but maybe there's a relevant config file that needs to be updated. |
|
| Back to top |
|
 |
chithanh Developer

Joined: 05 Aug 2006 Posts: 1390 Location: Berlin, Germany
|
Posted: Thu May 05, 2011 2:23 am Post subject: |
|
|
You can change the maximum tmpfs size with the size=... parameter (in fstab or mount -o remount,size=...).
Note that if you hit swap because your tmpfs grows too large, performance will be worse than if you didn't use tmpfs at all. |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Thu May 05, 2011 2:31 am Post subject: |
|
|
I doubled it, and I don't think there's any risk of it running into swap if I'm working with space in my root filesystem... but maybe I don't know what I'm talking about.
So is this a normal problem that everyone runs into? From the way you were describing it, it sounded like I shouldn't have my temporary portage files there.
edit: Wait, do you mean physical memory as in RAM? In that case, 3000 MB would be bad. |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Thu May 05, 2011 2:35 am Post subject: |
|
|
| In any case, thanks for your help. I'm a lot closer to understanding what's going on, even if I don't completely understand it. I guess my only question is whether changing the size of tmpfs is the best option, and if so what you think the best size would be on my system |
|
| Back to top |
|
 |
codestation Tux's lil' helper


Joined: 09 Nov 2008 Posts: 126 Location: /dev/negi
|
Posted: Thu May 05, 2011 2:39 am Post subject: |
|
|
| arcfxn wrote: |
So is this a normal problem that everyone runs into? From the way you were describing it, it sounded like I shouldn't have my temporary portage files there.
|
No, having the portage tmp directory isn't a default option (i don't remember seeing in the official manual anywhere), so very few people are gonna encounter your problem. If you don't know why do you have that setup i recommend that is better to remove the tmpfs setup for portage.
Unless you have lots of ram there is no reason to use portage in a tmpfs. _________________ Just feel the code... |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Tue May 10, 2011 3:29 am Post subject: |
|
|
I actually went back and forth between the manual and a guide my friend (a CS whiz, afaik) had put together. It must have been something he decided to do. Since you mentioned the amount of RAM, I have 4GB. Nothing crazy.
Anyway, I get this in the beginning of the compile:
| Code: | * Checking for at least 512MBytes RAM ... [ ok ]
* Checking for at least 7144MBytes disk space at /var/tmp/portage/app-office/libreoffice-3.3.1/temp ... [ !! ]
* Don't have at least 7144MBytes disk space at /var/tmp/portage/app-office/libreoffice-3.3.1/temp
* Bad things may happen! You may abort the build by pressing ctrl+c in
* the next 15 seconds.
|
So apparently libreoffice requires at least 7144MB of temp space to compile... Is it just me, or is that unreasonably huge?
But, it sounds like I should be getting rid of this tmpfs altogether. Should I just drop it from fstab? |
|
| Back to top |
|
 |
Aquous l33t

Joined: 08 Jan 2011 Posts: 619
|
Posted: Tue May 10, 2011 7:30 am Post subject: |
|
|
| Libreoffice is a huge program, it's to be expected to require massive space to compile (source code alone is probably around 1 GB in size, add to that object files, debug symbol files, etc produced during compilation...) |
|
| Back to top |
|
 |
titanofold Developer

Joined: 30 Dec 2003 Posts: 225 Location: Bryson City, NC USA
|
Posted: Tue May 10, 2011 11:12 am Post subject: |
|
|
Yeah, the default location of /var/tmp/portage is not on a tmpfs. It is actually on your hard drive or wherever you've decided to place the /var directory.
If you have gobs of RAM, a tmpfs can be beneficial, but in your case it's holding you back. _________________ The best things in life are free.
Guy-1: Surely, you will fold with me...
Guy-2: Alright, but don't call me Shirley |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Wed May 11, 2011 5:23 am Post subject: |
|
|
| In what file can I find that setting (i.e. location of /var/tmp/portage)? I've commented out the tmpfs line in my fstab, but I assume I also need to tell portage to relocate that directory. But then again, maybe not. |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Wed May 11, 2011 6:15 am Post subject: |
|
|
| I think I may end up having a problem anyway. My root partition is only 15GB, of which about 10 is currently used. Knew I should have made it higher, now it seems I'll have no choice but to try a new install - and I really don't want to deal with that right now. But this was my first time with gentoo, so I'm sure the next iteration would turn out better. I guess for the time being I should just stick with abiword. |
|
| Back to top |
|
 |
titanofold Developer

Joined: 30 Dec 2003 Posts: 225 Location: Bryson City, NC USA
|
Posted: Wed May 11, 2011 10:11 am Post subject: |
|
|
| arcfxn wrote: | | In what file can I find that setting (i.e. location of /var/tmp/portage)? I've commented out the tmpfs line in my fstab, but I assume I also need to tell portage to relocate that directory. But then again, maybe not. |
No, you don't want to comment out that line. That's your shared memory.
Look in your /etc/make.conf
| arcfxn wrote: | | I think I may end up having a problem anyway. My root partition is only 15GB, of which about 10 is currently used. Knew I should have made it higher, now it seems I'll have no choice but to try a new install - and I really don't want to deal with that right now. But this was my first time with gentoo, so I'm sure the next iteration would turn out better. I guess for the time being I should just stick with abiword. |
That is fairly small. If you're very careful you can make it work. But you'll probably want something larger. _________________ The best things in life are free.
Guy-1: Surely, you will fold with me...
Guy-2: Alright, but don't call me Shirley |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Wed May 11, 2011 10:17 pm Post subject: |
|
|
Yeah, as I said I think I should probably do a new install. I'd already looked in make.conf and didn't see anything relevant. Should I be adding a line for the portage temp directory?
Also, I was going to comment out the tmpfs line because it didn't seem like it was supposed to be there (mount point is /var/tmp/portage). Should I be changing the mount point instead?
I plan to do a clean install of gentoo soon, but I'd like to understand this better so I don't make the same mistakes. |
|
| Back to top |
|
 |
arcfxn n00b


Joined: 31 Jan 2011 Posts: 74 Location: NY, USA
|
Posted: Wed May 11, 2011 10:28 pm Post subject: |
|
|
Well, I definitely learned something today. Didn't think make.conf would have a man page, but I discovered just that. Silly me.
To all who responded, thanks for the help. I'll continue working on this on my own. |
|
| Back to top |
|
 |
DaBeaner n00b

Joined: 11 Apr 2012 Posts: 13
|
Posted: Wed Apr 11, 2012 2:48 pm Post subject: |
|
|
| hey, I'm sorry, but I'm new to Gentoo as well. I attempted but it says it doesn't recognize the command. how is it fully typed out. please and thank you!!! |
|
| Back to top |
|
 |
Arkhelion Tux's lil' helper

Joined: 07 Sep 2010 Posts: 127 Location: France
|
Posted: Wed Apr 11, 2012 3:47 pm Post subject: |
|
|
errr... that's the full one.
try it being root maybe? (though I can't see why it would need root priviledges) _________________ Arkhelion |
|
| Back to top |
|
 |
dmpogo Advocate

Joined: 02 Sep 2004 Posts: 2166 Location: Canada
|
Posted: Wed Apr 11, 2012 5:18 pm Post subject: |
|
|
Almost all, but not all packages can be emerged with portage build on tmpfs on 4GB machine. The exceptions are libreoffice, new firefox and thunderbird,
and maybe couple of others. These require exuberant amount of space for compilation, which can be problem even with a space on disk. I actually switched to bin packages of those monsters, especially with fast update cycles now for firefox and thunderbird. |
|
| Back to top |
|
 |
DaBeaner n00b

Joined: 11 Apr 2012 Posts: 13
|
Posted: Wed Apr 11, 2012 5:34 pm Post subject: |
|
|
| dmpogo. I don't understand exactly what you are trying to tell me I should do. |
|
| Back to top |
|
 |
DaBeaner n00b

Joined: 11 Apr 2012 Posts: 13
|
Posted: Wed Apr 11, 2012 6:00 pm Post subject: |
|
|
| sorry, just found it |
|
| Back to top |
|
 |
DaBeaner n00b

Joined: 11 Apr 2012 Posts: 13
|
Posted: Wed Apr 11, 2012 7:59 pm Post subject: |
|
|
ok, so I went over a few things and this is what I have instead when I type df -i
| Code: | Filesystem Inodes IUsed IFree IUse% Mounted on
rootfs 474282 7163 167119 2% /
udev 473149 722 472427 1% /dev
/dev/loop0 23574 23574 0 100% /mnt/livecd
rc-svcdir 474282 70 474212 1% /mnt/livecd/lib64/rc/init.d
shm 474282 1 474281 1% /dev/shm
tmpfs 474282 154 474128 1% /mnt/livecd/lib64/firmware
tmpfs 474282 1 474281 1% /mnt/livecd/usr/portage |
what do I do from here???
Thank you for the help so far |
|
| Back to top |
|
 |
chaseguard Tux's lil' helper

Joined: 25 Jun 2004 Posts: 121
|
Posted: Thu Apr 12, 2012 4:15 am Post subject: |
|
|
A snippet:
cat /etc/make.conf
PORTAGE_TMPDIR=/dev/shm
#PORTAGE_TMPDIR=/var/tmp
PORTDIR=/usr/portage
DISTDIR=${PORTDIR}/distfiles
PKGDIR=${PORTDIR}/packages
The tempdir is where portage will do the work of compiling your packages. The default is PORTAGE_TMPDIR=/var/tmp and this is on some disk drive.
As you see, I use PORTAGE_TMPDIR=/dev/shm and this is RAM memory, not on a disk. I find less disk thrashing and fast compile times using it.
Some packages (firefox, libreoffice, ...) will need more working space to compile. If you set portage to use RAM and this need exceeds your available RAM (some of which is already used by everything else in your system) then bad things can happen. Portage has an environment capability (/etc/portage/package.env) that will let you spell out where individual packages should be compiled if other than the location listed in /etc/make.conf.
None of this should be affected by your /etc/fstab which should already have something to create the RAM access:
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
I suggest you use PORTAGE_TMPDIR=/var/tmp as this will never cause you a problem. If using tmpfs (RAM) is your thing, then study-up on portage environment capability and figure out which programs will be a problem for you in RAM and set them to run on the disk. With 4 gig or less you need be thoughtful, especially if you have competing memory users (like virtual machines). |
|
| Back to top |
|
 |
dmpogo Advocate

Joined: 02 Sep 2004 Posts: 2166 Location: Canada
|
Posted: Thu Apr 12, 2012 4:46 am Post subject: |
|
|
| chaseguard wrote: |
I suggest you use PORTAGE_TMPDIR=/var/tmp as this will never cause you a problem. |
Never say never, it will if the partition on which /var/tmp resides does not have enough space. And with firefox/thunderbird/libreoffice requiring over 4GB space to compile that is not that trivial a limit. For example on my, not the latest, laptop with just 64 GB SSD drive, / partion is under 20GB, and I am not sure it has 4GB free space, and surely not 7GB which libreoffice seems to demand. Not to say if people, as tradition holds, have /var on separate partition.
Typical for those who does not run web/mail servers was to have a rather small /var |
|
| Back to top |
|
 |
|