I'm trying to create a yocto recipe to add gnu radio on my raspberrypi 4 but I get the following error when I generate my image:
| ERROR: ExecutionError('/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/temp/run.do_compile.503884', 1, None, None)
ERROR: Task (/home/norian/Yocto/poky/meta/recipes-support/boost/boost_1.75.0.bb:do_compile) failed with exit code '1'
This is what the bitbake-layers show-layers
command returns to me:
layer path priority
==========================================================================
meta /home/norian/Yocto/poky/meta 5
meta-poky /home/norian/Yocto/poky/meta-poky 5
meta-yocto-bsp /home/norian/Yocto/poky/meta-yocto-bsp 5
meta-raspberrypi /home/norian/Yocto/poky/meta-raspberrypi 9
meta-oe /home/norian/Yocto/meta-openembedded/meta-oe 6
meta-python /home/norian/Yocto/meta-openembedded/meta-python 7
meta-filesystems /home/norian/Yocto/meta-openembedded/meta-filesystems 6
meta-networking /home/norian/Yocto/meta-openembedded/meta-networking 5
meta-qt5 /home/norian/Yocto/meta-openembedded/meta-qt5 7
meta-sdr /home/norian/Yocto/meta-openembedded/meta-sdr 5
meta-my-layer /home/norian/Yocto/meta-my-layer 6
my recipe is in meta-my-layer and is called radio-image.bb
Here is its content:
SUMMARY = "A small image just capable of allowing a device to boot."
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
CORE_IMAGE_EXTRA_INSTALL = "\
packagegroup-sdr-base-extended \
packagegroup-sdr-base-debug \
packagegroup-sdr-base-devel \
packagegroup-sdr-base-python \
packagegroup-sdr-python-extended \
packagegroup-sdr-gnuradio-base \
packagegroup-core-eclipse-debug \
"
IMAGE_INSTALL = "nano"
CONF_VERSION = "1"
ENABLE_UART="1"
I copied the contents of the gnuradio-image.bb recipe which is from meta-sdr. I also copy the folder packagegroups into my recipe.
I am using Ubuntu 20.04.
My version of poky is :
DISTRO_VERSION = "3.3.4"
DISTRO_CODENAME = "hardknott"
Can you explain to me what boost is for and how to correct its compilation please ?
EDIT: I found the following error in the boost compilation logfile:
{standard input}: Assembler messages:
{standard input}:4183: Warning: end of file not at end of a line; newline inserted
{standard input}:4801: Error: unknown pseudo-op: `.l'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
aarch64-poky-linux-g : fatal error: Killed signal terminated program cc1plus
compilation terminated.
{standard input}: Assembler messages:
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
aarch64-poky-linux-g : fatal error: Killed signal terminated program cc1plus
compilation terminated.
gcc.compile.c /home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/build/boost/bin.v2/libs/log/build/f79941b6f0ebe85fc9fba0b2ec31feac/syslog_backend.o
"aarch64-poky-linux-g " "-mcpu=cortex-a72" "-march=armv8-a crc crypto" "-Wl,-O1" "-Wl,--hash-style=gnu" "-Wl,--as-needed" "-Wl,-z,relro,-z,now" "-fstack-protector-strong" "-O2" "-D_FORTIFY_SOURCE=2" "-Wformat" "-Wformat-security" "-Werror=format-security" "--sysroot=/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/recipe-sysroot" -ftemplate-depth-1024 -fvisibility-inlines-hidden -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0=/usr/src/debug/boost/1.75.0-r0 -fdebug-prefix-map=/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0=/usr/src/debug/boost/1.75.0-r0 -fdebug-prefix-map=/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/recipe-sysroot= -fdebug-prefix-map=/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -pthread -O3 -finline-functions -Wno-inline -Wall -fvisibility=hidden -fno-strict-aliasing -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_DLL -DBOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_DEBUG_OUTPUT -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DNDEBUG -D_XOPEN_SOURCE=600 -D__STDC_CONSTANT_MACROS -I"." -I"libs/log/src" -c -o "/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/build/boost/bin.v2/libs/log/build/f79941b6f0ebe85fc9fba0b2ec31feac/syslog_backend.o" "libs/log/src/syslog_backend.cpp"
...skipped <p/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/build/boost/bin.v2/libs/log/build/f79941b6f0ebe85fc9fba0b2ec31feac>libboost_log.so.1.75.0 for lack of <p/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/build/boost/bin.v2/libs/log/build/f79941b6f0ebe85fc9fba0b2ec31feac>text_file_backend.o...
...skipped <p/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/boost_1_75_0/stage/lib>libboost_log.so.1.75.0 for lack of <p/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/build/boost/bin.v2/libs/log/build/f79941b6f0ebe85fc9fba0b2ec31feac>libboost_log.so.1.75.0...
...failed updating 2 targets...
WARNING: exit code 1 from a shell command.
ERROR: ExecutionError('/home/norian/Yocto/build-rpi/tmp/work/cortexa72-poky-linux/boost/1.75.0-r0/temp/run.do_compile.503884', 1, None, None)
CodePudding user response:
I think it is RAM issue ,check here and here.
I suggest you compile boost alone first:
bitbake boost -c compile
or reduce build threads and number of parallel compile processes:
- local.conf
BB_NUMBER_THREADS = "2"
PARALLEL_MAKE = "-j 1"
You can change numbers to what you like (for threads its max is your cpu's cores)
Try adding PARALLEL_MAKE = "-j 1"
in local.conf
and :
bitbake boost -c compile