Я использую Buildroot (2017.02.5) для создания настраиваемой цепочки инструментов кросс-компиляции. У меня две конфигурации buildroot; один для создания RFS и один просто для создания цепочки инструментов. У меня все настроено таким образом, потому что я не хочу, чтобы цепочка инструментов перестраивалась, если я намеренно не перестрою ее - конфигурация, которая создает RFS, ссылается на эту цепочку инструментов как на внешнюю цепочку инструментов.
Как правило, встроенный набор инструментов работает нормально, но у меня есть некоторые существующие приложения (пользовательское пространство Linux), которые #include
<openssl/md5.h>
. Когда я пытаюсь скомпилировать это, я получаю "<openssl/md5.h>: No such file or directory"
ошибку, которая ожидается, потому что каталог sysroot сгенерированной инструментальной цепочки не содержит каталога openssl.
Как я могу сделать так, чтобы buildroot включала openssl в цепочку инструментов? Все выполненные мной поиски, похоже, указывают на кросс-компиляцию openssl для моей встроенной цели, что не является проблемой. Проблема в том, что мне нужно включить его в цепочку инструментов.
У меня есть целевые пакеты -> Библиотеки -> Крипто -> openssl установлено в y, но я не думаю, что это имеет какое-либо значение в этом сценарии, поскольку я считаю, что это относится только к RFS (а рассматриваемый defconfig не построить RFS, только набор инструментов).
Я мог бы скомпилировать OpenSSL вне дерева buildroot и установить его в каталог sysroot, но это не кажется правильным, так как это приведет к загрязнению sysroot.
Я уверен, что мне здесь не хватает чего-то простого - любая помощь будет принята с благодарностью.