Buildroot - Ошибка применения патча
Я пытаюсь создать собственный образ ядра для моего PhidgetSBC, но во время сборки получаю ошибку:
bluez 4.96 Извлечение
bluez 4.96 Пакет исправлений /bluez
для файла в config.guess config.sub; сделать для меня в $(найти файл /home/kerubu/buildroot_phidgetsbc/new/buildroot-phidgetsbc_1.0.4.20111028/output/build/bluez-4.96 -name $file); do cp package/gnuconfig/$file $i; сделанный; сделанный
Исправление libtool
Применение buildroot-libtool.patch с использованием открытого текста: исправление файла ltmain.sh
Кусок № 1 не удалось в 273.
Стойка № 2 преуспела в 5412 (смещение 3005 строк).
Кусок № 3 не удалось в 2551.
Кусок № 4 не удалось в 2895.
Кусок № 5 преуспел в 8058 с фазз 1 (смещение 2446 строк).
Кусок № 6 не удалось в 5937.
4 из 6 блоков СБОЙ - сохранение отклоняет в файл ltmain.sh.rej
Патч не удался! Пожалуйста, исправьте buildroot-libtool.patch!
make: * [/home/kerubu/buildroot_phidgetsbc/new/buildroot-phidgetsbc_1.0.4.20111028/output/build/bluez-4.96/.stamp_patched] Ошибка 1
Я не уверен, что делать дальше. У кого-нибудь есть совет?
2 ответа
Да, вы используете старую версию Buildroot, в которой у нас был только патч для libtool 1.5, но ваша версия Bluez, вероятно, использует libtool 2.2. В качестве быстрого обходного пути вы можете попробовать добавить следующую строку в файл bluez .mk:
BLUEZ_LIBTOOL_PATCH = NO
который скажет Buildroot не применять исправление libtool.
Однако обработка в libtool с Buildroot уже довольно давно улучшена, поэтому немного стыдно не использовать преимущества новых выпусков Buildroot.
Похоже, что патч и "ltmain.sh" не синхронизированы. Есть несколько способов, которыми это может произойти. Один из них заключается в том, что autoreconf -f был вызван, а скопированный файл ltmain.sh несовместим с патчем. Если вы можете хотя бы удалить аргумент -f из autoreconf, он не должен переписывать его.