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

Khem Raj raj.khem at gmail.com
Sat Feb 9 17:23:17 UTC 2019


dump ld.bfd generated .so and see if this symbol is present

On Sat, Feb 9, 2019 at 5:20 AM Martin Jansa <martin.jansa at gmail.com> wrote:
>
> 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
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list