[OE-core] [PATCH 01/12] virglrenderer: add a recipe

Martin Jansa martin.jansa at gmail.com
Sat Feb 9 13:19:42 UTC 2019


On Sat, Feb 09, 2019 at 11:06:47AM +0100, Alexander Kanavin wrote:
> On Sat, 9 Feb 2019 at 10:44, Martin Jansa <martin.jansa at gmail.com> wrote:
> > Does it need to depend on mesa directly instead of one of virtual/*
> > providers?
> >
> > It fails to build for targets which use different mesa, e.g. mesa-gl:
> >
> > ERROR: Nothing PROVIDES 'mesa' (but /OE/build/luneos-master/webos-ports/openembedded-core/meta/recipes-graphics/virglrenderer/virglrenderer_git.bb DEPENDS on or otherwise requires it)
> > mesa was skipped: PREFERRED_PROVIDER_virtual/libgl set to mesa-gl, not mesa
> > ERROR: Required build target 'virglrenderer' has no buildable providers.
> > Missing or unbuildable dependency chain was: ['virglrenderer', 'mesa']
> 
> Yes, mesa-gl isn't going to work. Virgl needs the following bits (set
> in mesa recipe):
> PACKAGECONFIG_class-native ?= "gbm dri-native egl"
> 
> dri-native is same as dri, but without drivers to save build time.

OK, then with mesa used in qemux86* it still fails with:

| Making all in vtest
| make[2]: Entering directory '/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/build/vtest'
| i586-webos-linux-gcc  -m32 -march=i586 --sysroot=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../git/vtest -I..    -I../../git/src/gallium/drivers/virgl -I../../git/src/gallium/include -I../../git/src/gallium/auxiliary -I../../git/src/gallium/drivers -I../../git/include -I../../git/src   -I/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot/usr/include/libdrm -DMESA_EGL_NO_X11_HEADERS   -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0=/usr/src/debug/virglrenderer/0.7.0-r0                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot-native=  -pipe -Wall -Wextra -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -Werror=int-to-pointer-cast -c -o util.o ../../git/vtest/util.c
| i586-webos-linux-gcc  -m32 -march=i586 --sysroot=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../git/vtest -I..    -I../../git/src/gallium/drivers/virgl -I../../git/src/gallium/include -I../../git/src/gallium/auxiliary -I../../git/src/gallium/drivers -I../../git/include -I../../git/src   -I/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot/usr/include/libdrm -DMESA_EGL_NO_X11_HEADERS   -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0=/usr/src/debug/virglrenderer/0.7.0-r0                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot-native=  -pipe -Wall -Wextra -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -Werror=int-to-pointer-cast -c -o vtest_server.o ../../git/vtest/vtest_server.c
| i586-webos-linux-gcc  -m32 -march=i586 --sysroot=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../git/vtest -I..    -I../../git/src/gallium/drivers/virgl -I../../git/src/gallium/include -I../../git/src/gallium/auxiliary -I../../git/src/gallium/drivers -I../../git/include -I../../git/src   -I/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot/usr/include/libdrm -DMESA_EGL_NO_X11_HEADERS   -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0=/usr/src/debug/virglrenderer/0.7.0-r0                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot-native=  -pipe -Wall -Wextra -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -Werror=int-to-pointer-cast -c -o vtest_renderer.o ../../git/vtest/vtest_renderer.c
| ../i586-webos-linux-libtool  --tag=CC   --mode=link i586-webos-linux-gcc  -m32 -march=i586 --sysroot=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot -I../../git/src/gallium/drivers/virgl -I../../git/src/gallium/include -I../../git/src/gallium/auxiliary -I../../git/src/gallium/drivers -I../../git/include -I../../git/src   -I/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot/usr/include/libdrm -DMESA_EGL_NO_X11_HEADERS   -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0=/usr/src/debug/virglrenderer/0.7.0-r0                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot-native=  -pipe -Wall -Wextra -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -Werror=int-to-pointer-cast  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o virgl_test_server util.o vtest_server.o vtest_renderer.o ../src/libvirglrenderer.la
| i586-webos-linux-libtool: link: i586-webos-linux-gcc -m32 -march=i586 --sysroot=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot -I../../git/src/gallium/drivers/virgl -I../../git/src/gallium/include -I../../git/src/gallium/auxiliary -I../../git/src/gallium/drivers -I../../git/include -I../../git/src -I/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot/usr/include/libdrm -DMESA_EGL_NO_X11_HEADERS -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0=/usr/src/debug/virglrenderer/0.7.0-r0 -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot= -fdebug-prefix-map=/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/recipe-sysroot-native= -pipe -Wall -Wextra -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -Werror=int-to-pointer-cast -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/virgl_test_server util.o vtest_server.o vtest_renderer.o  ../src/.libs/libvirglrenderer.so -lm -lgbm -lepoxy -pthread
| ../src/.libs/libvirglrenderer.so: error: undefined reference to 'drmPrimeHandleToFD'
| collect2: error: ld returned 1 exit status
| Makefile:429: recipe for target 'virgl_test_server' failed
| make[2]: *** [virgl_test_server] Error 1
| make[2]: Leaving directory '/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/build/vtest'
| Makefile:510: recipe for target 'all-recursive' failed
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory '/OE/build/luneos-master/webos-ports/tmp-glibc/work/i586-webos-linux/virglrenderer/0.7.0-r0/build'
| Makefile:419: recipe for target 'all' failed
| make: *** [all] Error 2
| ERROR: oe_runmake failed

The fix from
http://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/qemu&id=c29d4ccfe0a5f53c49883e55c2c2bb444997b1cf
is still applicable and fixes this.
-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20190209/382a4bd9/attachment.sig>


More information about the Openembedded-core mailing list