[yocto] Antwort: Re: Antwort: Re: building qtbase for raspberry pi fails

Felix01 Fischer felix01.fischer at iav.de
Tue Apr 29 08:05:46 PDT 2014


Including the headers didn't work, because the dependencies wouldn't be 
fullfilled.

I managed to get around the first error by manipulating the mkspecs and 
adding the full path of libGLESv2.so to it.

The next error is that "eglDestroyContext" is not defined.

Via "grep -r -i  'eglDestroyContext' ./" I'm able to find out, that 
libEGL_static.a libkhrn_static.a and libEGL.so have this string ( 
libEGL.so was the file which threw the errors in the first place, I don't 
know what is going on)

Adding one of these three files to the mkspecs results in  "not found" 
errors of them (but they are there, no typos, I triple-checked, full path 
specified)

My guess would be to look in the elf header for the dynamic part, I did 
this for libEGL.so, everything seems fine to me.

my head spins, knocking-off time!

Expect my next answer next tuesday due to holidays in germany :-)

Thank you for your help so far,

Felix



Vaduva alexandru <vaduvajanalexandru at yahoo.com> schrieb am 29.04.2014 
15:26:27:

> Von: Vaduva alexandru <vaduvajanalexandru at yahoo.com>
> An: Felix01 Fischer <felix01.fischer at iav.de>, 
> Kopie: "yocto at yoctoproject.org" <yocto at yoctoproject.org>
> Datum: 29.04.2014 15:30
> Betreff: Re: Antwort: Re: [yocto] building qtbase for raspberry pi fails
> 
> You may try and  find the headers containing those undefined 
> functions and include them into rootfs, more exaclty into usr/
> include or similar.
> 
> On Tuesday, April 29, 2014 3:56 PM, Felix01 Fischer 
> <felix01.fischer at iav.de> wrote:
> Unfortunately there is no library. After either "bitbake -c compile 
> userland" or "bitbake userland" there are the source files (*.h *.c)
> and one named "*.c.o" but no *.o file exists 
> 
> Vaduva alexandru <vaduvajanalexandru at yahoo.com> schrieb am 29.04.
> 2014 14:10:48:
> 
> > Von: Vaduva alexandru <vaduvajanalexandru at yahoo.com>
> 
> > An: Felix01 Fischer <felix01.fischer at iav.de>, 
> > "yocto at yoctoproject.org" <yocto at yoctoproject.org>, 
> > Datum: 29.04.2014 14:11 
> > Betreff: Re: [yocto] building qtbase for raspberry pi fails 
> > 
> > Did you tried copying the glxx library into the rootfs lib directory? 
> > 
> > On Tuesday, April 29, 2014 2:38 PM, Felix01 Fischer 
> > <felix01.fischer at iav.de> wrote: 
> > 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 
> > 
> > -- 
> > _______________________________________________
> > 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/abbbae49/attachment.html>


More information about the yocto mailing list