#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