Failed to load module: /usr/way/lib/weston/rpi-backend.so: undefined symbol: eglTerminate

Pekka Paalanen pekka.paalanen at collabora.co.uk
Fri Jan 2 03:52:59 PST 2015


On Wed, 24 Dec 2014 12:49:23 +0800
Jeff Chua <jeff.chua.linux at gmail.com> wrote:

> I recompiled Tomeu's userland git and weston with EGL enabled.
> Compiled ok, but starting weston gives the following error ..
> 
> 07:33:06.983] OS: Linux, 3.18.1, #9 Mon Dec 22 21:36:03 SGT 2014, armv6l
> [07:33:06.986] Using config file '/root/.config/weston.ini'
> [07:33:06.988] Loading module '/usr/way/lib/weston/rpi-backend.so'
> [07:33:07.006] Failed to load module:
> /usr/way/lib/weston/rpi-backend.so: undefined symbol: eglTerminate
> 
> Without "--enable-egl", weston runs.
> 
> Here's my weston's config ..
>                         I="-fPIC -DBCMHOST=1"
>                         I="$I -I/opt/vc/include -I/opt/vc/include/EGL"
>                         I="$I -I/opt/vc/include/interface/vcos/pthreads"
>                         I="$I -I/opt/vc/include/interface/vmcs_host/linux"
>                         L="-L/opt/vc/lib -L/usr/way/lib"
> 
>                         WESTON_NATIVE_BACKEND="rpi-backend.so" \
>                                 EGL_CFLAGS="$I" \
>                                 EGL_LIBS="$L" \
>                                 autogen.sh --enable-shared --disable-static \
>                                 --disable-colord \
>                                 --disable-dbus \
>                                 --disable-drm-compositor \
>                                 --disable-libinput-backend \
>                                 --disable-libunwind \
>                                 --disable-resize-optimization \
>                                 --disable-x11-compositor \
>                                 --disable-xwayland-test \
>                                 --disable-wcap-tools \
>                                 --disable-wayland-compositor \
>                                 --enable-demo-clients-install \
>                                 --enable-egl \
>                                 --enable-rpi-compositor \
>                                 --enable-screen-sharing \
>                                 --enable-simple-egl-clients \
>                                 --enable-weston-launch \
>                                 --with-cairo=image \
>                                 --prefix=/usr/way

Hi,

does this mean you don't have the .pc files?
See http://wayland.freedesktop.org/raspberrypi.html which points to
http://cgit.collabora.com/git/user/pq/android-pc-files.git/tree/pkgconfig?h=raspberrypi

It looks like you are trying to override .pc file data with
EGL_CFLAGS/LIBS variables and failing with it. I'd really recommend
just making sure the proper .pc files are installed and found. If
userland.git does not have them already, you should use the ones
mentioned above.

If you look into egl.pc, you are at least missing -lEGL. There is also
some stuff in bcm_host.pc which I don't see with your setup.

I'm suprised it works without --enable-egl, I'd expect all BCM
proprietary functions to be undefined too if you don't have the .pc
files.

> Here's my mesa's config ...
>                         autogen.sh \
>                                 --prefix=/usr/way \
>                                 --enable-egl --enable-gbm --enable-gles2 \
>                                 --enable-shared-glapi \
>                                 --enable-sysfs \
>                                 --disable-static \
>                                 --with-dri-drivers=swrast \
>                                 --with-egl-platforms=x11,wayland,drm \
>                                 --with-gallium-drivers="vc4,swrast"

If you built and installed userland.git, then Mesa must not be used.


Thanks,
pq


More information about the wayland-devel mailing list