Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/usr/lib64/libweston-3/gl-renderer.so contained in package libweston-3 requires libEGL.so()(64bit), but no providers found in RDEPENDS_libweston-3? [file-rdeps] #195

Open
shibo1802 opened this issue Dec 14, 2017 · 4 comments

Comments

@shibo1802
Copy link

I'm trying to build rpb-weston-image with https://github.com/96boards/oe-rpb-manifest.git master branch, but encounter many errors related to graphics libraries dependencies, following is the error log

ERROR: weston-3.0.0-r0 do_package_qa: QA Issue: /usr/bin/weston-simple-egl contained in package weston-examples requires libEGL.so()(64bit), but no providers found in RDEPENDS_weston-examples? [file-rdeps]
ERROR: weston-3.0.0-r0 do_package_qa: QA Issue: /usr/lib64/libweston-3/gl-renderer.so contained in package libweston-3 requires libEGL.so()(64bit), but no providers found in RDEPENDS_libweston-3? [file-rdeps]
ERROR: weston-3.0.0-r0 do_package_qa: QA Issue: /usr/lib64/libweston-3/gl-renderer.so contained in package libweston-3 requires libGLESv2.so()(64bit), but no providers found in RDEPENDS_libweston-3? [file-rdeps]
ERROR: weston-3.0.0-r0 do_package_qa: QA Issue: /usr/lib64/libweston-3/wayland-backend.so contained in package libweston-3 requires libwayland-egl.so()(64bit), but no providers found in RDEPENDS_libweston-3? [file-rdeps]
ERROR: weston-3.0.0-r0 do_package_qa: QA Issue: /usr/lib64/libweston-3/drm-backend.so contained in package libweston-3 requires libgbm.so()(64bit), but no providers found in RDEPENDS_libweston-3? [file-rdeps]
ERROR: weston-3.0.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: weston-3.0.0-r0 do_package_qa: Function failed: do_package_qa

But the libraries do exist:

./build-rpb-wayland/tmp-rpb_wayland-glibc/work/aarch64-linaro-linux/kmscube/git-r0/recipe-sysroot/usr/lib64/libwayland-egl.so
./build-rpb-wayland/tmp-rpb_wayland-glibc/work/aarch64-linaro-linux/cogl-1.0/1.22.2-r0/recipe-sysroot/usr/lib64/libwayland-egl.so
./build-rpb-wayland/tmp-rpb_wayland-glibc/work/aarch64-linaro-linux/gstreamer1.0-plugins-bad/1.12.3-r0/recipe-sysroot/usr/lib64/libwayland-egl.so
./build-rpb-wayland/tmp-rpb_wayland-glibc/work/aarch64-linaro-linux/libsdl2/2.0.7-r0/recipe-sysroot/usr/lib64/libwayland-egl.so
./build-rpb-wayland/tmp-rpb_wayland-glibc/work/aarch64-linaro-linux/weston/3.0.0-r0/recipe-sysroot/usr/lib64/libwayland-egl.so
./build-rpb-wayland/tmp-rpb_wayland-glibc/work/aarch64-linaro-linux/ffmpeg/3.3.4-r0/recipe-sysroot/usr/lib64/libwayland-egl.so
./build-rpb-wayland/tmp-rpb_wayland-glibc/work/aarch64-linaro-linux/clutter-1.0/1.26.2-r0/recipe-sysroot/usr/lib64/libwayland-egl.so
./build-rpb-wayland/tmp-rpb_wayland-glibc/sysroots-components/hikey/mali450-userland/usr/lib64/libwayland-egl.so

Does anyone encounter the same issue or know how to fix it? Any suggestions would be appreciated.

@fboudra
Copy link
Member

fboudra commented Dec 14, 2017

hikey is broken in Rocko and Master. @mrchapp is working on it.

@shibo1802
Copy link
Author

Thanks, @fboudra

@kraj
Copy link
Contributor

kraj commented Feb 8, 2018

this issue is due to missing DT_SONAME entry in the precompiled mali shared library, actually someone should report this to mali team so they can add a proper soname during build before publishing.

OE shlib code checks for DT_NEEDED against a set of shlibs for deps however if thse shared libs do not have DT_SONAME then it does not create a rprovides for these sonames

Long story short you can workaround this by inserting a soname e.g. something like below will help your case

https://github.com/akuster/meta-odroid/blob/master/recipes-graphics/mali/mali-450_r6p1.bb#L29

@wookey
Copy link

wookey commented Feb 9, 2018

I reported this to the team (along with some other issues I found doing the debian packaging).
There was a suggestion that this lack of proper versioning may be deliberate, because the same binary pretends to be several different libraries with different soversions (libEGL.so.1 , libGLESv1_CM.so.1, libGLESv2.so.2, libOpenCL.so.1) so maybe it's not clear what DT_SONAME it should be using? The original reasoning may be lost in the mists of time.

This case is a good example of why it's a real-world problem. I'll feed that back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants