Установка модулей питона не удалась - "limits.h" не хватает?

Командная строка

nmtui

Для навигации используйте клавиши со стрелками или нажмите Tab для перехода вперед и нажмите Shift + Tab , чтобы вернуться назад по параметрам. Нажмите Enter, чтобы выбрать вариант. Клавиша пробела переключает статус флажка.

Выберите точку доступа

Нажмите "Enter" и отредактируйте свое соединение

2
05.03.2019, 10:00
1 ответ

Анализ(его можно пропустить, но он может помочь в диагностике подобных проблем в будущем)

Ваш GCC жалуется на отсутствие limits.hфайла, на который ссылается/usr/include/limits.h(другойlimits.hфайл):

/usr/include/limits.h:124:26: error: no include path in which to search for limits.h

Сверяясь с /usr/include/limits.h, мы видим следующее:

$ sed -n 117,125p /usr/include/limits.h
 /* Get the compiler's limits.h, which defines almost all the ISO constants.

    We put this #include_next outside the double inclusion check because
    it should be possible to include this file more than once and still get
    the definitions from gcc's header.  */
#if defined __GNUC__ && !defined _GCC_LIMITS_H_
/* `_GCC_LIMITS_H_' is what GCC's file defines.  */
# include_next <limits.h>
#endif

Другими словами, limits.hlibc включает еще один limits.h, предоставленный самим компилятором. Используя инструмент apt-fileи немного здравого смысла, мы можем определить, что вам нужен пакетlibgcc-8-dev:

$ apt-file search /limits.h | grep gcc-8
libgcc-8-dev: /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h
...

В вашем запросе dpkgпакет и файл указаны как установленные:

$ dpkg -S limits.h | grep linux
libgcc-8-dev:amd64: /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h
...

Однако GCC жалуется на отсутствие каталога:

$ x86_64-linux-gnu-gcc -xc -E -v /dev/null
...
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed"

Вывод и исправление

Все это, вероятно, означает, что пакет libgcc-8-devкаким-то образом был поврежден в вашей системе. Чтобы восстановить его, запустите:

$ sudo apt-get install --reinstall libgcc-8-dev

(вам может потребоваться заменить 8соответствующей основной версией GCC, которая у вас есть)

В общем,если вы не помните, что вручную удаляли limits.hиз вашей системы или каким-либо другим образом возились с установкой GCC, может быть хорошей идеей проверить целостность вашей файловой системы и состояние жесткого диска.

2
27.01.2020, 22:08

Теги

Похожие вопросы