Недавно я обновился с Kubuntu 12.04 до 13.04, полностью переустановил.
Использование gcc 4.7.3. Я скомпилировал некоторые программы, чтобы обнаружить, что нет каталога /usr/include/sys. То есть, types.h, stat.h и т. Д. Отсутствуют. Они существуют в каталоге include/linux, но не include/sys.
Что происходит?
установить libc6-dev-amd64, если вы работаете с 64-разрядным Linux. Введите следующую команду на терминале ubuntu:
sudo apt-get install libc6-dev-amd64
каталог sys представляет собой каталог системных заголовков unix / linux с большим количеством системных команд. Различные бренды / версии linux могут размещать их в разных местах. Следующая команда может вам помочь:
find /usr/include -type d -name sys
On my ubuntu 16 got the two
/usr/include/bsd/sys
/usr/include/x86_64-linux-gnu/sys
В первом доме находятся системные заголовки BSD unix. Второй - это каталог, содержащий 64-разрядные системные головоломки Linux.
У меня возникают проблемы с cmake, которые не могут найти файл sys / stat.h. Моим временным решением является создание символической ссылки
/user/local/include/sys/stat.h from /usr/include/x86_64-linux-gnu/sys/stat.h
Я не хочу загрязнять каталог / usr / include, и я делаю ссылку только на один файл заголовка, а не на весь sys каталог. Я думаю, что это недостаток cmake, поэтому минимальный эффект достигается за счет создания только одной ссылки. Надеюсь, это поможет тем, кто страдает от одной и той же проблемы.
Поскольку моя архитектура - amd64, нет libc6-dev-amd64. Пакет для установки - libc6-dev-i386.
Это фиксировало зависимость для CPAN-пакета.