bits/predefs.h: No such file or directoryОписание

При кросс-компиляции библиотек для процессора ARM (например Raspberry PI или Beaglebone Black) иногда встречается ошибка:

/rootfs/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory

#include <bits/predefs.h>

compilation terminated.

Скорее всего это проблема заголовочных файлов конкретного дистрибутива. У меня такая проблема возникла при сборке библиотеки SFML и yaml-cpp для Debian 7.9.

Решение

В моём случае, включение несуществующего заголовочного файла является лишним.

Для исправления сборки идём в папку с вашей rootfs, скопированной с BeagleBone, ищём там файл /usr/include/features.h.

В файле ищем строчки:

/* Define __STDC_IEC_559__ and other similar macros.  */
#include <bits/predefs.h>

И комментируем включение заголовочника:

/* Define __STDC_IEC_559__ and other similar macros.  */
//#include <bits/predefs.h>

После этого ошибка должна исчезнуть.