WebPlatformForEmbedded / WPEWebKit

WPE WebKit port (downstream)
213 stars 141 forks source link

not working on Raspberry Pi with wpebackend-rdk and userland - libEGL.so missing symbols #632

Closed kytart closed 5 years ago

kytart commented 5 years ago

I tried to build wpe webkit on Raspberry Pi with wpebackend-rdk, userland drivers and cog.

When I finally run it like cog https://github.com, I get an error

Couldn't open libEGL.so.1: Error relocating /usr/lib/libEGL.so.1: glxx_client_DeleteFramebuffers: symbol not found

After some digging I found out that this issue is linked to ANGLE library which is apparently being used.

Inside ANGLE is a method call then in turn loads libEGL.so.1 via dlopen.

Based on this thread, there's a bug in userland libs that requires GLESv2 to be linked whenever EGL is being used. It contains those missing symbols.

Is this addressed somewhere? I was trying to figure out how yocto gets around this issue but couldn't find anything.

Is ANGLE even supposed to be used on Raspberry Pi? I was trying to dig through the cmake files and it seams that ANGLE isn't even supposed to be included in WPE port but not sure.

kytart commented 5 years ago

I finally figured out, that libEGL only works on RPi if libGLESv2 is also linked. More on that here and here.

Main reason why these were not linked in my version is because I disabled all the things that depend on gsteamer, like video. Once I enabled video in the build, it by extension linked libEGL and libGLESv2.

kraj commented 4 years ago

see https://github.com/agherzan/meta-raspberrypi/pull/609/commits/00fd2ffbdbfa4faa2a593b792f00906706418eef which should fix it