Доброго времени суток. Пытаюсь кросскомпилировать в Убунте под OpenWrt и запустить в последнем megatools (консольные утилиты для заливки файлов в облако mega.cz), удалось собрать нормально устанавливаемый ipk-пакет, но при попытке запустить любую из утилит выдаётся:
root@OpenWrt:/tmp# megals
megals: symbol '__stack_chk_guard': can't resolve symbol
megals: symbol '__stack_chk_fail': can't resolve symbol
Ещё безуспешно пытался отключить проверку стека (за неё ведь эти функции отвечают?) ключом компилятора -fno-stack-protector
С кросскомпилятором всё в порядке – HelloWord компилируется и запускается (я ведь правильно думаю, что если были бы проблемы с libc, тогда б функции stdio.h не работали?), тест glib2 тоже работает (работа со списком GSList).
(Добавлено)
Прояснилось уточнение – проблема, похоже, кроется в glib2, причём только в двух его библиотеках: gio и gobject. Стоит прилинковать хотя бы одну из двух этих библиотек к HelloWorld (даже не подключая ничего в коде), так HelloWorld перестаёт запускаться с вышеописанной ошибкой. Остальные 3 библиотеки подключаются нормально. Ещё раз перепроверил отсутствие этих якобы «недостающих» функций в зависимостях. В чём причина? Такое ведь наблюдается как с самостоятельно собранной версией, так и с версией с репозитория.