[Mesa-users] Error when linking swrast_dri.so: "undefined symbol: _glapi_tls_Dispatch"

Heng Zhou hzhou1 at cs.uml.edu
Wed Dec 24 08:37:02 PST 2014


Hi,

I am using Amazon ubuntu instance (t2.micro type) to try to run some OpenGL
applications. Since this type of instance does not provide GPU support, I
have to install mesa to obtain OpenGL functionality. But after installation
of mesa version 10.3.5 (build from source, not apt-get install
mesa-common-dev), reboot and run some OpenGL applications, I always got
errors. I created a dummy display, as suggested by Petre Eftime (
http://lists.freedesktop.org/archives/mesa-users/2014-December/000908.html),
using command

Xorg -noreset +extension GLX +extension RANDR +extension RENDER
-logfile ./10.log -config ./xorg.conf :10

suggested in https://www.xpra.org/trac/wiki/Xdummy. But the same error
comes out. For example,

If I run glxinfo -display :10 (:10 is the display I created using Xdummy),
I got:
name of display: :10
Error: couldn't find RGB GLX visual or fbconfig
Error: couldn't find RGB GLX visual or fbconfig

If I run glxgears -display :10, I got:
Error: couldn't get an RGB, Double-buffered visual

If I run glmark2, I got:
Error: GLX version >= 1.3 is required
Error: Error: Could not get a valid XVisualInfo!
Error: Error: Couldn't create X Window!
Error: main: Could not initialize canvas

To find out the reason, I check the log file 10.log, using "grep EE
10.log". The results returned are:
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 10203.744] Initializing built-in extension MIT-SCREEN-SAVER
[ 10203.756] (EE) AIGLX: reverting to software rendering
[ 10203.762] (EE) AIGLX error: dlopen of
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed
(/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol:
_glapi_tls_Dispatch)
[ 10203.762] (EE) GLX: could not load software renderer

Form the log, it can be seen that there is an error when linking
dynamically to swrast_dri.so, which is a software driver that should be
used because Amazon EC2 t2.micro instance does not provide any hardware
graphics card, and this is a part of mesa (so I asked here). Due to the
failure to link to this indispensable software driver, GLX could not be
loaded, leading to above error messages involving GLX, to the best of my
understanding.

So I think it is not the display limit of t2.micro instance, but the failed
linking of mesa's software driver *swrast* that lead to failures to run
OpenGL applications. For this reason, I wonder if anyone could help me
solve this problem, e.g., by disabling the AIGLX or something. Thank you
very much for the help.

For your reference, below is the output of the command "ldd
/usr/lib/xorg/modules/extensions/libglx.so"

    linux-vdso.so.1 =>  (0x00007f04cd423000)
    libGL.so.1 => /usr/local/lib/libGL.so.1 (0x00007f04ccf13000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f04cccf5000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f04ccaf0000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f04cc72a000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1
(0x00007f04cc500000)
    libglapi.so.0 => /usr/local/lib/libglapi.so.0 (0x00007f04cc2a5000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
(0x00007f04cc093000)
    libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1
(0x00007f04cbe90000)
    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3
(0x00007f04cbc89000)
    libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
(0x00007f04cba87000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
(0x00007f04cb752000)
    libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0
(0x00007f04cb53a000)
    libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0
(0x00007f04cb335000)
    libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0
(0x00007f04cb132000)
    libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0
(0x00007f04caf2e000)
    libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1
(0x00007f04cad28000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1
(0x00007f04cab09000)
    libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1
(0x00007f04ca906000)
    libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1
(0x00007f04ca700000)
    libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2
(0x00007f04ca4f4000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f04ca1ed000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f04cd425000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6
(0x00007f04c9fe9000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
(0x00007f04c9de2000)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-users/attachments/20141224/336fd61b/attachment.html>


More information about the mesa-users mailing list