2011-02-02 3 views
8

Я использую операционную систему maemo и компилятор GCC. У меня ошибка при компиляции приложения: на/tmp недостаточно места. У меня 10% свободного места, поэтому я не понимаю, почему это происходит. В любом случае, можно ли изменить конфигурацию GCC, чтобы использовать другую папку (в другом разделе)?/tmp folder and gcc

ответ

23

Установите переменную окружения TMPDIR туда, где вы хотите, чтобы GCC помещал ваши временные файлы. Или используйте флаг -pipe для хранения временных файлов (кроме объектных файлов) в памяти.

+1

IT WORKED! Большое спасибо – vah

+2

В этом случае я надеюсь, что вы не забудете принять ответ. @vah – oKtosiTe

+0

У меня нет переменной среды под названием 'TMPDIR', я должен создать новую? –

1

Скорее всего, ваш каталог /tmp смонтирован как файловая система tmpfs. Это означает, что файлы в /tmp фактически хранятся в памяти, а не на диске. Если это так, /tmp будет ограничено тем, что вы можете поместить в память + swap, и все в /tmp будет потеряно при перезагрузках.

Используйте mount или df -T, чтобы увидеть, как установлен /tmp.

+1

/tmpfs tmp ограничено небольшим процентом физической памяти, по умолчанию, по меньшей мере, на Debian. –

+0

^Я не знаю, как обстояли дела в 2012 году (хотя беглый Google предполагает, что это было так даже в 2006 году :), но в большинстве случаев '/ tmp' и'/dev/shm' по умолчанию ограничены на 50% доступной оперативной памяти, поэтому я не думаю, что об этом нужно беспокоиться. –