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

Vaduva alexandru vaduvajanalexandru at yahoo.com
Tue Apr 29 06:29:54 PDT 2014


Another solution is point the location of the necessary headers to the compiler or the necessary task.
I believe do_configure() one.


On , Vaduva alexandru <vaduvajanalexandru at yahoo.com> wrote:
 
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/c1115bfc/attachment.html>


More information about the yocto mailing list