Home > Net >  adding gnuradio in recipe Yocto Raspberrypi 4
adding gnuradio in recipe Yocto Raspberrypi 4

Time:04-04

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
  • Related