undefined symbol: wl_display_get_rgb_visual

Benjamin Franzke benjaminfranzke at googlemail.com
Fri May 20 00:54:19 PDT 2011


The symbol isnt in wayland anylonger. egl_gallium is broken since Kristian
changed how visuals are emitted in wayland (commit 4bde293).

So either use egl_dri2 (export EGL_PLATFORM=egl_dri2) or the following
patch that i'll send to Kristian:
http://cgit.freedesktop.org/~bnf/mesa/commit/?h=fix&id=1a651b0471f8b87246c6ab1a5ac3e0367397f747

2011/5/20 Thierry Reding <thierry.reding at avionic-design.de>:
> * Christopher Friedt wrote:
>> Hi folks,
>>
>> I'm running into the following error when trying to launch demos.
>>
>> terminal: symbol lookup error: /usr/lib64/egl/egl_gallium.so:
>> undefined symbol: wl_display_get_rgb_visual
>>
>> The folllowing code snippet confirms that the symbol does not get
>> installed in any shared library
>>
>> for i in $(qlist mesa | grep "\.so"); do
>>   j="$(readelf -s ${i} | grep wl_display_get_rgb_visual | grep -v UND)"
>>   if [ "${j}" != "" ]; then
>>     echo $i
>>   fi
>> done
>>
>> The symbol is initially defined in mesa under
>>
>> src/gallium/state_trackers/egl/wayland/native_wayland.c
>>
>> Unless I'm mistaken, it should havemade it into some shared library,
>> given the following configure options
>>
>> ./configure --prefix=/usr --build=x86_64-pc-linux-gnu
>> --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
>> --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
>> --localstatedir=/var/lib --libdir=/usr/lib64 --disable-option-checking
>> --with-driver=dri --disable-glut --without-demos --enable-xcb
>> --disable-debug --disable-glw --disable-motif --enable-glx-tls
>> --disable-asm --disable-shared-dricore --with-dri-drivers=,swrast
>> --enable-texture-float --enable-gles1 --enable-gles2 --enable-egl
>> --disable-openvg --enable-gallium --with-egl-platforms=wayland,drm
>> --with-state-trackers=dri,egl --enable-gallium-llvm
>> --enable-gallium-svga --disable-gallium-nouveau --disable-gallium-i915
>> --disable-gallium-i965 --disable-gallium-r300 --disable-gallium-r600
>> --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-r300
>> --disable-gallium-r600
>>
>> but I can't seem to find out which shared library that is.
>>
>> # grep -R wl_display_get_rgb_visual *
>>
>> Binary file lib64/egl/egl_gallium.so matches
>> Binary file src/gallium/state_trackers/egl/wayland/native_wayland.o matches
>> src/gallium/state_trackers/egl/wayland/native_wayland.c:   if
>> (surface->pix->visual == wl_display_get_rgb_visual(display->dpy))
>> Binary file src/gallium/state_trackers/egl/libegl.a matches
>>
>> # ar t src/gallium/state_trackers/egl/libegl.a | grep -i "wayland"
>> native_wayland_drm_bufmgr_helper.o
>> native_wayland.o
>>
>> Any ideas?
>
> Actually the symbol is defined in libwayland-client.so. From what you say the
> build goes fine and terminal fails at runtime, so I'm guessing you haven't
> installed libwayland-client correctly.
>
> Thierry
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
>


More information about the wayland-devel mailing list