Сценарий:
Я работаю с рецептами Yocto Linux. Я пытаюсь сделать рецепт, который просто копирует готовый MyLibrary.a
и его заголовки, доступные на встроенном образе Linux. Итак, у меня есть libMyLibrary.a
, который я хочу скопировать в /usr/lib
. И MyLibrary
заголовочные файлы MyLibrary.h
и MyLibrary.hpp
в /usr/include
. Обратите внимание, что MyLibrary
уже собран, и я просто хочу скопировать двоичный файл и заголовки в нужные места встроенного образа Linux.
Итак, рецепт следующий:
SUMMARY = "Script to make a static library available in yocto linux image"
LICENSE = "CLOSED"
FILES_${PN} += "${libdir}"
SRC_URI = "file://libMyLibrary.a \
file://MyLibrary..hpp \
file://MyLibrary..h \
"
S = "${WORKDIR}"
do_install () {
install -d ${D}${libdir}
install -d ${D}${includedir}
install -m 0644 ${WORKDIR}/libMyLibrary.a ${D}${libdir}/
install -m 0644 ${WORKDIR}/MyLibrary.h ${D}${includedir}/
install -m 0644 ${WORKDIR}/MyLibrary.hpp ${D}${includedir}/
}
Изначально я начал получать сообщения об ошибках на шаге do_install
. Я решил их, но теперь шаг do_rootfs
жалуется на мой файл bb
, который mylibrary_1.0.bb
. Я почти уверен, что родительский рецепт, который вызывает мой рецепт, не содержит ошибок, так как он строит множество других рецептов, а мой - просто дополнительный к нему. Кроме того, ошибки начали появляться после того, как я написал шаг do_install
.
Вопрос
Может кто-нибудь указать, что не так с моим рецептом выше?
Или есть простой пример рецепта, который копирует .a
и его заголовки в нужное место, то есть /usr/lib
и /usr/include
, как я делаю выше?