Неможливо встановити бібліотеку GNU GSL з джерела


0

Я намагаюся встановити наукову бібліотеку GNU GSL 1.16 з джерела під Ubuntu Server 14. Я вже робив це кілька разів під ОС X без проблем, але я продовжую отримувати ту ж помилку на машині Ubuntu. Я вже зробив кроки, запропоновані інструкцією GNU GSL Installation, якщо щось піде не так, тобто

Якщо є проблеми зі створенням бібліотеки, спробуйте скористатися

    ./configure --disable-shared --disable-dependency-tracking

Тож установка повинна бути такою:

./configure --disable-shared --disable-dependency-tracking
sudo make
sudo make install

Але крок компіляції закінчується наступною помилкою:

file.c: 102: 0: фатальна помилка: помилка запису до /tmp/ccF9p6T9.s: на пристрої не залишилось місця

#undef BASE_CHAR

^ складання припинено.

Будь-які ідеї? Я використовував те саме джерело, щоб компілювати бібліотеку під ОС X без помилок. Я не потрапляю звідки помилка "Не залишається місця на пристрої", оскільки у мене є тонна вільного місця.

EDIT

Додавання виходу df -h /tmp

File.system   Size Used  Available Used% Mounted at
overflow         1,0M         468K  556K           46% /tmp

PS

Я знаю про пакет GSL у apt-getсховищах, але мені дійсно потрібно встановити його з джерела.


Ваш /tmp/розділ окремий? Запустіть df -h /tmpта опублікуйте вихід.
nixpower

Вам, швидше за все, потрібно більше ram / swap / більший розділ для свопу
Grammargeek

@Grammargeek машина має 128 ГБ оперативної пам’яті)
Елі Корвіго

@codingman Я опублікував вихід
Eli Korvigo

1
@Grammargeek Swap / RAM не має нічого спільного/tmp
nixpower

Відповіді:


1

Ваше повідомлення про помилку дає точну причину проблеми, і я переклав її в три зірочки нижче:

file.c:102:0: fatal error: ***error writing to /tmp/ccF9p6T9.s: No space left on device***

Це означає, що ваш /tmpкаталог, який містить тимчасові файли і таке, заповнений. Ви сказали, що ніколи не перезавантажуєте поле, тому що це завжди обчислюють деякі речі. Моя здогадка - його використання /tmpдля зберігання обчислювальних даних у тимчасовому місці. Цей каталог зазвичай очищається при перезавантаженні, а в інших випадках.

Проблема полягає в тому, що коли /tmpви повніше, ви можете зіткнутися з безліччю проблем. З вашого df -hрезультату вище, ваш /tmpбув встановлений як "переповнення". Ймовірно, що ваша коренева файлова система заповнилася і /tmpне була визначена як її власний розділ, і система переказала /tmpяк диск "переповнення", який має обмежений розмір.

Отже, у вас є дві речі, які вам потрібно зробити:

  1. З'ясуйте, чи не має місця у вашому /розділі. df -hсамостійно подарує тобі все необхідне.
  2. Видаліть старі дані зі свого диска (або видаліть, або перемістіть його в інше місце від системи) та /tmpкаталог. Щось з'їдає ваш простір, і це погано.
  3. Розгляньте час від часу перезавантаження, під час регулярного періоду обслуговування чи чогось іншого. Таким чином, ваш /tmpкаталог буде видалятися кожен раз так часто, і ви можете застосовувати оновлення ядра і таке інше.

Я ніколи раніше не стикався з цією проблемою, і гугл повідомлення про помилку не допомогло. Зрештою мене просто замінили /tmpна більшу перегородку. Дякую.
Елі Корвіго
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.