Собираю Qt5, вылезает странная ошибка:
qtimezoneprivate_p.h:61:10: fatal error: 'unicode/ucal.h' file not found
сабжевый файл - часть набора ICU, если кому-то интересно. И оно действительно лежит в ---include/unicide/ucal.h, проверено открыванием в vim'е.
Вначале я подумал, что я опять поломал репозиторий, и по хардкору руками стянул ICU с их репозитория, сконфигурил и собрал в отдельный префикс. Проверил, что чертов ucal.h там есть. Ну вот теперь уж точно должно!..
Но нет, fatal error: 'unicode/ucal.h' file not found
Причем ни на одну из тысяч других зависимостей не жалуется, только на этот файл.
Посмотрел виновника аварии, qtimezoneprivate_p.h. Объявление выглядит правильно: #include <unicode/ucal.h>, к афтару файла претензий нет.
Я форсирую порядок подключения инклудов и либ чере -I и -L директивы configure, а потом собираю через make -j8. Чтобы порадовать телепатов, вот выдержка из конфигура:
-I/git/icu/prefix/include -L/git/icu/prefix/lib -I/opt/local/include -I/opt/local/include/mysql55 -I/opt/local/include/mysql55/mysql -I/opt/local/include/postgresql93 -I/opt/local/include/postgresql93/server -L/opt/local/lib -L/opt/local/lib/mysql55/mysql -L/opt/local/lib/postgresql93
Не знаете как форсировать подключение этого чертового заголовка?
(без хардкодинга полного пути прямо в .cpp/.hpp файле, конечно. Да и вообще, там этих файлов, которым нужен icu - тысячи, все не назаменяешься).
(Товарищам, решившим послать в багтрекер qt: это trunk/master их репозитория кода, так что жаловаться на «неискаробочность» сборки нужно в Спортлото, а не в багтрекер)
Ну я просто не врубаюсь, как конпелятор может не найти заголовок, когда ему уже в нос ткнули конкретный префикс где искать!
И это не баг gcc, ну, по крайней мере - не проходной баг, потому что и на стабильной и на экспериментальных версиях gcc, clang, llvm (собранных десять минут назад из их репозиториев) оно ведет себя одинаково. Никаких «internal compiler errors», просто билд останавливается с «файл не найден... 1 error generated.»
Очень надеюсь на вашу чорную магию и телепатию крови, уважаемые иксперты! Спасибо.