python3-protobuf yocto, получение ошибки компилятора

#python #build #protocol-buffers #yocto #recipe

Вопрос:

Я пытался скомпилировать пакет python3-protobuf из выпуска Yocto dunfell, но получаю ошибку компилятора.

Я ниже рецепта от Yocto без каких-либо изменений:

python3-protobuf_3.11.3.bb

 inherit setuptools3
require python-protobuf.inc
BBCLASSEXTEND = "native nativesdk"

DEPENDS  = "protobuf"
DISTUTILS_BUILD_ARGS  = "--cpp_implementation"
DISTUTILS_INSTALL_ARGS  = "--cpp_implementation"

do_compile_prepend_class-native () {
    export KOKORO_BUILD_NUMBER="1"
}
 

Я получаю ошибку ниже

 aarch64-oe-linux-gcc -march=armv8-a crc -fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack -Wformat -Wformat-security -Werror=format-security --sysroot=/home/admin/build/distro-debug/tmp-glibc/work/aarch64-oe-linux/python3-protobuf/3.11.3-r0/recipe-sysroot -Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -g -Wa,--noexecstack -fexpensive-optimizations -frename-registers -ftree-vectorize -finline-functions -finline-limit=64 -Wno-error=maybe-uninitialized -Wno-error=unused-result -O2 -g -Wa,--noexecstack -fexpensive-optimizations -frename-registers -ftree-vectorize -finline-functions -finline-limit=64 -Wno-error=maybe-uninitialized -Wno-error=unused-result -O2 -g -Wa,--noexecstack -fexpensive-optimizations -frename-registers -ftree-vectorize -finline-functions -finline-limit=64 -Wno-error=maybe-uninitialized -Wno-error=unused-result -fPIC -I. -I../src -I/home/admin/build/distro-debug/tmp-glibc/work/aarch64-oe-linux/python3-protobuf/3.11.3-r0/recipe-sysroot/usr/include/python3.8 -c google/protobuf/pyext/message.cc -o /home/admin/build/distro-debug/tmp-glibc/work/aarch64-oe-linux/python3-protobuf/3.11.3-r0/build/temp.linux-x86_64-3.8/google/protobuf/pyext/message.o -Wno-write-strings -Wno-invalid-offsetof -Wno-sign-compare -Wno-unused-variable -std=c  11
google/protobuf/pyext/message.cc:70:10: fatal error: google/protobuf/stubs/map_util.h: No such file or directory
   70 | #include <google/protobuf/stubs/map_util.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'aarch64-oe-linux-gcc' failed with exit status 1
ERROR: 'python3 setup.py build  --cpp_implementation' execution failed.
WARNING: /home/admin/build/distro-debug/tmp-glibc/work/aarch64-oe-linux/python3-protobuf/3.11.3-r0/temp/run.do_compile.15287:1 exit 1 from 'exit 1'
 

Если я удалю ниже из рецепта

 DISTUTILS_BUILD_ARGS  = "--cpp_implementation"
DISTUTILS_INSTALL_ARGS  = "--cpp_implementation"
 

из рецепта, то я не получаю никакой ошибки.

Спасибо

Комментарии:

1. у вас установлен aarch64-oe-linux-gcc?

2. неправильная версия probobuf?

3. @John b Да.. установлен aarch64-oe-linux-gcc