Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] - IOError: [Errno 28] No space left on device
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Wed May 04, 2011 11:57 pm    Post subject: [SOLVED] - IOError: [Errno 28] No space left on device Reply with quote

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
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 1390
Location: Berlin, Germany

PostPosted: Thu May 05, 2011 2:13 am    Post subject: Reply with quote

You may be out of inodes, especially if you use ext3/4 with many small files (e.g. portage tree). Check with
Code:
$ df -i
Back to top
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Thu May 05, 2011 2:17 am    Post subject: Reply with quote

chithanh wrote:
You may be out of inodes, especially if you use ext3/4 with many small files (e.g. portage tree). Check with
Code:
$ df -i


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
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 1390
Location: Berlin, Germany

PostPosted: Thu May 05, 2011 2:19 am    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Thu May 05, 2011 2:21 am    Post subject: Reply with quote

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
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 1390
Location: Berlin, Germany

PostPosted: Thu May 05, 2011 2:23 am    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Thu May 05, 2011 2:31 am    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Thu May 05, 2011 2:35 am    Post subject: Reply with quote

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
View user's profile Send private message
codestation
Tux's lil' helper
Tux's lil' helper


Joined: 09 Nov 2008
Posts: 126
Location: /dev/negi

PostPosted: Thu May 05, 2011 2:39 am    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Tue May 10, 2011 3:29 am    Post subject: Reply with quote

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
View user's profile Send private message
Aquous
l33t
l33t


Joined: 08 Jan 2011
Posts: 619

PostPosted: Tue May 10, 2011 7:30 am    Post subject: Reply with quote

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
View user's profile Send private message
titanofold
Developer
Developer


Joined: 30 Dec 2003
Posts: 225
Location: Bryson City, NC USA

PostPosted: Tue May 10, 2011 11:12 am    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Wed May 11, 2011 5:23 am    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Wed May 11, 2011 6:15 am    Post subject: Reply with quote

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
View user's profile Send private message
titanofold
Developer
Developer


Joined: 30 Dec 2003
Posts: 225
Location: Bryson City, NC USA

PostPosted: Wed May 11, 2011 10:11 am    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Wed May 11, 2011 10:17 pm    Post subject: Reply with quote

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
View user's profile Send private message
arcfxn
n00b
n00b


Joined: 31 Jan 2011
Posts: 74
Location: NY, USA

PostPosted: Wed May 11, 2011 10:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
DaBeaner
n00b
n00b


Joined: 11 Apr 2012
Posts: 13

PostPosted: Wed Apr 11, 2012 2:48 pm    Post subject: Reply with quote

hey, I'm sorry, but I'm new to Gentoo as well. I attempted
Code:
$ df -i
but it says it doesn't recognize the command. how is it fully typed out. please and thank you!!!
Back to top
View user's profile Send private message
Arkhelion
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2010
Posts: 127
Location: France

PostPosted: Wed Apr 11, 2012 3:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2166
Location: Canada

PostPosted: Wed Apr 11, 2012 5:18 pm    Post subject: Reply with quote

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
View user's profile Send private message
DaBeaner
n00b
n00b


Joined: 11 Apr 2012
Posts: 13

PostPosted: Wed Apr 11, 2012 5:34 pm    Post subject: Reply with quote

dmpogo. I don't understand exactly what you are trying to tell me I should do.
Back to top
View user's profile Send private message
DaBeaner
n00b
n00b


Joined: 11 Apr 2012
Posts: 13

PostPosted: Wed Apr 11, 2012 6:00 pm    Post subject: Reply with quote

sorry, just found it
Back to top
View user's profile Send private message
DaBeaner
n00b
n00b


Joined: 11 Apr 2012
Posts: 13

PostPosted: Wed Apr 11, 2012 7:59 pm    Post subject: Reply with quote

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
View user's profile Send private message
chaseguard
Tux's lil' helper
Tux's lil' helper


Joined: 25 Jun 2004
Posts: 121

PostPosted: Thu Apr 12, 2012 4:15 am    Post subject: Reply with quote

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
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2166
Location: Canada

PostPosted: Thu Apr 12, 2012 4:46 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum