Bitbake не может найти заголовочный файл другого рецепта - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть пакет, который зависит от звездочки.Поскольку это зависит от звездочки, я включил DEPENDS = "asterisk" в файл bitbake. Но мой пакет с исходным кодом не может найти «asterisk.h», который доступен в пакете asterisk. Я попробовал «bitbake asterisk -c listtasks» в этой команде [do_populate_sysroot]был доступен. Но там, где bitbake ожидает, что будет находиться asterisk.h, чтобы он мог получить его оттуда.Ниже приведена ошибка в журнале, которую я получаю при компиляции моего рецепта.

checking for string.h... (cached) yes
 checking for sys/time.h... (cached) yes
 checking for termios.h... (cached) yes
 checking whether asterisk.h in ../include... no
 checking whether asterisk.h in /usr/include... no
 checking whether asterisk.h in /usr/local/include... no
 checking whether asterisk.h in /opt/local/include... no
 configure: error: Can't find "asterisk.h"

ПРИМЕЧАНИЕ. Следующие файлы config.log могут предоставить дополнительную информацию.

1 Ответ

0 голосов
/ 20 марта 2019

Мы можем использовать провайдера и пользователя для иллюстрации этого случая, пакет (рецепт) предоставляет файл заголовка для использования другим пакетом (рецепт), является поставщиком, пакет (рецепт) использует файл заголовка из другого пакета (рецепт)) является пользователем.

Сначала мы меняем рецепт провайдера (myprovider.bb) для экспорта файла заголовка - myapi.h,

...
do_install() {

    install -d ${D}/${bindir}
    install -m 755 ${B}/hello_provider ${D}/${bindir}

    install -d ${D}${libdir}/lib_myprovider/
    install -m 0755 ${WORKDIR}/myapi.h ${STAGING_DIR_TARGET}${libdir}/lib_myprovider/
}
...

Во-вторых, мы меняем рецепт пользователя (myuser.bb) для ссылки на файл заголовка - myapi.h

...
do_compile () {    

    ${CC} ${WORKDIR}/main.c -o hello_user ${CFLAGS} ${LDFLAGS} -I${STAGING_DIR_TARGET}/${libdir}/lib_myprovider/ 
}

# file dependency declaration
FILES_${PN} = "${libdir}/lib_myprovider"

# package dependency declaration
DEPENDS += "myprovider"
...

Наконец, пересоберите рецепты myprovider.bb и myuser.bb, все должно заработать.

...