bitbake meta-toolchain-qt5 for Raspberry Pi board.



  • I have a working Yocto 2.1 Krogoth line with Qt 5.6.2 version. I have built an image for Nitrogen6x board, and was able to successfully extract the Qt5 toolchain & SDK and developed a working Qt application to run on Nitrogen board. Now, I wanted to use the same Yocto and Qt support to be built for Raspberry Pi 2 board, and have the same application to run on Raspberry Pi board to verify that the Yocto line I created will work on multiple hardware platforms.

    I have made the necessary changes in local.conf and was able to build an image for Raspberry Pi board, I have got the Yocto OS boot on Raspberry pi board. In order to build my Qt application for
    Raspberry Pi board, I tried to extract the Qt5 toolchain by running the below command (same way that I followed for Nitrogen board).

    bitbake meta-toolchain-qt5

    but, my build was failed with the below errors:

    
    /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/git/configure: 1: /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/git/configure: /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/git/config.tests/unix/makeabs: not found
    Performing shadow build...
    Preparing build tree...
    Running configuration tests (phase 1)...
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/git/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/git/mkspecs/linux-oe-g++/../oe-device-extra.pri
    arm-poky-linux-gnueabi-g++ -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2 -c -fvisibility=hidden fvisibility.c
    Symbol visibility control enabled.
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot open crt1.o: No such file or directory
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot open crti.o: No such file or directory
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot open crtbegin.o: No such file or directory
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot open crtend.o: No such file or directory
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot open crtn.o: No such file or directory
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot find -lgcc
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot find -lgcc
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot find -lgcc
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: cannot find -lgcc
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libstdc++.so uses VFP register arguments, output does not
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libm.so uses VFP register arguments, output does not
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/lib/libgcc_s.so.1 uses VFP register arguments, output does not
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/lib/libc.so.6 uses VFP register arguments, output does not
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld.gold: error: /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/lib/ld-linux-armhf.so.3 uses VFP register arguments, output does not
    collect2: error: ld returned 1 exit status
    arm-poky-linux-gnueabi-g++ -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2 -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
    bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
     #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
      ^
    Symbolic function binding disabled.
    DEFAULT_INCDIRS="/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/include/c++/5.3.0
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/include/c++/5.3.0/arm-poky-linux-gnueabi
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/include/c++/5.3.0/backward
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.3.0/include
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/gcc/arm-poky-linux-gnueabi/5.3.0/include
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.3.0/include-fixed
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/include
    "
    DEFAULT_LIBDIRS="/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib
    /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.3.0
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/lib
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/arm-poky-linux-gnueabi/5.3.0
    "
    Done running configuration tests.
    <srcbase> = /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/git 
    <outbase> = /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/build 
    Creating qmake...
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    WARNING: Unable to find file /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++/../oe-device-extra.pri
    make: Nothing to be done for `first'.
    Running configuration tests (phase 2)...
    Found pkg-config from $PATH: /home/krogoth-next/rpi-build/tmp/sysroots/i686-linux/usr/bin/pkg-config
    Determining architecture... ()
    arm-poky-linux-gnueabi-g++  -march=armv7ve -marm -mfpu=neon-vfpv4  -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2 -c -pipe  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0=/usr/src/debug/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0 -fdebug-prefix-map=/home/krogoth-next/rpi-build/tmp/sysroots/i686-linux= -fdebug-prefix-map=/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2=  -fvisibility-inlines-hidden -g -Wall -W -fPIC  -I../../../git/config.tests/arch -I. -I../../../git/mkspecs/linux-oe-g++ -o arch.o ../../../git/config.tests/arch/arch.cpp
    arm-poky-linux-gnueabi-g++  -march=armv7ve -marm -mfpu=neon-vfpv4  -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o arch arch.o    
        Found architecture in binary
    CFG_CPUFEATURES=" neon"
    CFG_ARCH="arm"
    Determining architecture... ()
    
    *
    *
    *
                ^
    arm-poky-linux-gnueabi-g++  -march=armv7ve -marm -mfpu=neon-vfpv4  -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -o egl egl.o   -lGLESv2 -lvchostif -lbcm_host -lvcos -lvchiq_arm -pthread -lEGL 
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_GetRenderbufferParameteriv'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `gl20_client_state_init'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `gl11_client_state_init'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glintAttribPointer'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_GenFramebuffers'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_buffer_info_get'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glDiscardFramebufferEXT'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_FramebufferTexture2D'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_IsRenderbuffer'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_set_error'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_BindFramebuffer'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_GenRenderbuffers'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_set_error_api'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_BindRenderbuffer'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glBufferSubData'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_GetFramebufferAttachmentParameteriv'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_CheckFramebufferStatus'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_FramebufferRenderbuffer'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_RenderbufferStorage'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_DeleteRenderbuffers'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_GenerateMipmap'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_buffer_info_set'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glPointSizePointerOES'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_DeleteFramebuffers'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_IsFramebuffer'
    /home/krogoth-next/rpi-build/tmp/sysroots/raspberrypi2/usr/lib/libEGL.so: undefined reference to `glxx_client_state_free'
    collect2: error: ld returned 1 exit status
    make: *** [egl] Error 1
    EGL disabled.
     The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces.
     You might need to modify the include and library search paths by editing
     QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/git/mkspecs/linux-oe-g++.
    WARNING: exit code 1 from a shell command.
    ERROR: Function failed: do_configure (log file is located at /home/krogoth-next/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/qtbase/5.6.2+gitAUTOINC+b4ada3f0d8-r0/temp/log.do_configure.20749)
    

    I see that the Qt mkspec is pointing to linux-oe-g++ (which I suppose was intended for Nitrogen board). Is there some configuration that I need to set in order to build the toolchain for Raspberry Pi.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.