Невозможно установить общую библиотеку в yocto - PullRequest
0 голосов
/ 12 октября 2018

Я написал рецепт для создания общей библиотеки.Вот рецепт

SUMMARY = "test library"
SRC_URI = " file://file1.c \
            file://file2.c \
            file://internal.h" 

LICENSE = "CLOSED"
FILES_${PN} = "libtest.so"
do_compile() {
    ${CC} -fPIC -c ${WORKDIR}/file1.c -o ${WORKDIR}/file1.o
    ${CC} -fPIC -c ${WORKDIR}/file2.c -o ${WORKDIR}/file2.o
    ${CC} -shared -o ${WORKDIR}/libesys.so ${WORKDIR}/file1.o ${WORKDIR}/file2.o 
}

do_install() {
    install -d ${D}${libdir}
    install -m 0644 ${WORKDIR}/libtest.so ${D}${libdir}/
}

Сбой из-за следующих ошибок:

ERROR: test-0.1-r0 do_package_qa: QA Issue: -dev package contains non-symlink .so: test-dev path '/work/corei7-64-poky-linux/test/0.1-r0/packages-split/test-dev/usr/lib64/libtest.so' [dev-elf]
ERROR: test-0.1-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/home/jamal/repotest1/build/tmp/work/corei7-64-poky-linux/test/0.1-r0/packages-split/test-dev/usr/lib64/libtest.so' [ldflags]
ERROR: test-0.1-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: test-0.1-r0 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/jamal/repotest1/build/tmp/work/corei7-64-poky-linux/test/0.1-r0/temp/log.do_package_qa.20989
ERROR: Task (/home/jamal/repotest1/sources/meta-test/recipes-support/test/test_0.1.bb:do_package_qa) failed with exit code '1'

Не могли бы вы помочь мне разобраться в проблеме ... Оцените ваши усилия.

1 Ответ

0 голосов
/ 12 октября 2018

Правила упаковки по умолчанию предполагают, что библиотеки версионированы, а ваши библиотеки нет.

Либо установите версионные библиотеки, либо, если вы действительно не хотите, https://wiki.yoctoproject.org/wiki/TipsAndTricks/Packaging_Prebuilt_Libraries#Non-versioned_Libraries показывает, как манипулироватьправила.

...