[yocto] building qtbase for raspberry pi fails

Felix01 Fischer felix01.fischer at iav.de
Tue Apr 29 04:37:04 PDT 2014


I've been able to narrow my problem futher down:

the meta-raspberrypi layer contains a bb called "userland_git.bb" 
(meta-raspberrypi/recipes-graphics/userland/userland_git.bb).
the source for this layer is github.com/raspberrypi/userland.git. I cloned 
this repository and searched for the undefined references.

This repository contains the source code for the ARM side libraries used 
on Raspberry Pi. These typically are installed in /opt/vc/lib and includes 
source for the ARM side code to interface to: EGL, mmal, GLESv2, vcos, 
openmaxil, vchiq_arm, bcm_host, WFC, OpenVG. 

I had success! All my undefined references are defined in 
userland/interface/khronos/glxx/glxx_client.(h|c).

But still I haven't figured out how to get this build correctly so qtbase 
can find and use it.

Any suggestions?

Felix


yocto-bounces at yoctoproject.org schrieb am 25.04.2014 13:00:38:

> Von: Felix01 Fischer <felix01.fischer at iav.de>
> An: yocto at yoctoproject.org, 
> Datum: 25.04.2014 15:33
> Betreff: [yocto] building qtbase for raspberry pi fails
> Gesendet von: yocto-bounces at yoctoproject.org
> 
> Hello everybody, 
> first, I hope I have choosen the right mailing list for my problem. 
> If not, please tell me.
> 
> I have problems getting Qt5 building and running on a raspberry pi 
> (512 Mb Version).
> I'm using today's master branch from yocto & meta-raspberrypi ( 
> git.yoctoproject.org ) and meta-qt5 ( github.com/meta-qt5/meta-qt5 ).
> Building without a change in qtbase doesn't work because the OpenGL 
> Test fails ( the raspberry pi only suppports GLESv2). 
> When building with a qtbase_X.Y.Z.bbappend and 
> "PACKAGECCONFIG_append = " gles2" in order to use eglfs the mess 
beginns.
> First, building qtbase fails because qtbase-opensource-src-5.2.1/
> config.tests/qpa/egl/egl.cpp cannot find "vcos_types.h"
> After including this manually in "meta-qt5/recipes-qt/qt5/
> qtbase.inc" by adding the last line to configure 
> do_configure() { 
> 
> [.............] 
> 
>     ${S}/configure -v \ 
> -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads/ \ 
> 
> [.............] 
> 
> } 
> 
> 
> the next error is the following: 
> | EGL auto-detection... () 
> | arm-poky-linux-gnueabi-g++  -march=armv6 -mthumb-interwork -
> mfloat-abi=softfp  -mfpu=vfp --sysroot=/media/yocto_build/qt5-raspb/
> build/tmp/sysroots/raspberrypi -c -pipe  -O2 -pipe -g -feliminate-
> unused-debug-types -fvisibility-inlines-hidden -O2 -Wall -W -fPIE  -
> I../../../../qtbase-opensource-src-5.2.1/mkspecs/linux-oe-g++ -
> I../../../../qtbase-opensource-src-5.2.1/config.tests/qpa/egl -
> I../../../../../../../../sysroots/raspberrypi/usr/include/interface/
> vcos/pthreads -I. -o egl.o ../../../../qtbase-opensource-src-5.2.1/
> config.tests/qpa/egl/egl.cpp 
> | ../../../../qtbase-opensource-src-5.2.1/config.tests/qpa/egl/
> egl.cpp: In function 'int main(int, char**)': 
> | ../../../../qtbase-opensource-src-5.2.1/config.tests/qpa/egl/
> egl.cpp:46:12: warning: unused variable 'x' [-Wunused-variable] 
> |      EGLint x = 0; 
> |             ^ 
> | arm-poky-linux-gnueabi-g++  -march=armv6 -mthumb-interwork -
> mfloat-abi=softfp  -mfpu=vfp --sysroot=/media/yocto_build/qt5-raspb/
> build/tmp/sysroots/raspberrypi -Wl,-O1 -Wl,--hash-style=gnu -Wl,--
> as-needed -Wl,-O1 -o egl egl.o   -lEGL 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to 
`glxx_client_GetRenderbufferParameteriv'
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `gl20_client_state_init' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `gl11_client_state_init' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glintAttribPointer' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_GenFramebuffers' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_buffer_info_get' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glDiscardFramebufferEXT' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_FramebufferTexture2D' 

> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_IsRenderbuffer' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_set_error' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_BindFramebuffer' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_GenRenderbuffers' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_set_error_api' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_BindRenderbuffer' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glBufferSubData' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to 
> `glxx_client_GetFramebufferAttachmentParameteriv' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to 
`glxx_client_CheckFramebufferStatus' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to 
`glxx_client_FramebufferRenderbuffer' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_RenderbufferStorage' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_DeleteRenderbuffers' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_GenerateMipmap' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_buffer_info_set' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glPointSizePointerOES' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_DeleteFramebuffers' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_IsFramebuffer' 
> | /media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/
> lib/libEGL.so: undefined reference to `glxx_client_state_free' 
> | collect2: error: ld returned 1 exit status 
> | make: *** [egl] Error 1 
> | EGL disabled.
> 
> 
> If I bypass this test (by modifyingqtbase-opensource-src-5.2.1/
> config.tests/qpa/egl/egl.cpp so it does nothing and always returns 
> 0) the build works fine and I can boot the resulting Image.
> Unfortunately Qt Programms will abort with 
> "eglfs: Could not create the egl surface: error = 0x300b"
> I tried a lot of stuff but I' cant get ether of the two errors 
> "fixed". Any help appreciated. 
> Thank you for your time,
> 
> Felix Fischer
> 
> Student Employee (VC-I42)
> Vehicle Cockpit - HMI Software and Code generation
> 
> IAV GmbH
> Carnotstr. 1
> 10587 BERLIN
> GERMANY
> 
> Phone: +49 30 3997-89540
> Fax:       +49 30 3997-89411
> E-Mail:  <mailto:felix01.fischer at iav.de>
> Internet: http://www.iav.com
> 
> Sitz/Registered Office: Berlin, 
> Registergericht/Registration Court: Amtsgericht Charlottenburg, 
> Registernummer/Company Registration Number: HRB 21 280, 
> Geschäftsführer/Managing Directors: Kurt Blumenröder, Michael 
> Schubert, Dr. Rüdiger Goyk
> Vorsitzender des Aufsichtsrates/Chairman of the Supervisory Board: 
> Dr. Harald Ludanek-- 
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20140429/984b2e1a/attachment.html>


More information about the yocto mailing list