12

I am using the maemo Operating System and the GCC compiler. I have an error when I compile an application: there is no enough space on /tmp. I have 10% of my space free so I don't understand why this happens.. anyway, is it possible to change the GCC configuration in order to use another folder (in another partition)?

unwind
  • 391,730
  • 64
  • 469
  • 606
vah
  • 141
  • 1
  • 1
  • 4

2 Answers2

29

Set your TMPDIR environment variable to where you want GCC to put your temporary files. Or, use the -pipe flag to keep temporary files (except object files) in memory.

F'x
  • 12,105
  • 7
  • 71
  • 123
1

Most likely your /tmp directory is mounted as a tmpfs filesystem. This means that the files in /tmp are actually stored in memory, not on disk. If this is the case /tmp will be limited to what you can fit in memory+swap, and everything in /tmp will be lost across reboots.

Use mount or df -T to see how /tmp is mounted.

Eric Seppanen
  • 5,923
  • 30
  • 24
  • 1
    /tmp's tmpfs is limited to a a rather small percentage of physical memory, by default, on Debian at least. – Panayiotis Karabassis Jul 08 '12 at 17:48
  • ^ I don't know how things were in 2012 (though a cursory Google suggests this was the case even in 2006:), but in most cases, `/tmp` and `/dev/shm` are by default capped at a whopping 50% of available RAM, so I don't think there's much need to worry about that. – underscore_d Oct 06 '15 at 00:08