[Mesa-users] Error when linking swrast_dri.so: "undefined symbol: _glapi_tls_Dispatch"
Brian Paul
brianp at vmware.com
Fri Jan 2 08:23:33 PST 2015
On 12/24/2014 09:37 AM, Heng Zhou wrote:
> 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
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_archives_mesa-2Dusers_2014-2DDecember_000908.html&d=AwMFaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=T0t4QG7chq2ZwJo6wilkFznRSFy-8uDKartPGbomVj8&m=WaCT6SnxES98A1QUXbjOH55y-tZIbF9S9NJC0-BSttQ&s=HHJEvvDeqUdH1oP4-ZTo7v_eWgRUx3GHlOP4g8tiIsc&e=>),
> 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
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.xpra.org_trac_wiki_Xdummy&d=AwMFaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=T0t4QG7chq2ZwJo6wilkFznRSFy-8uDKartPGbomVj8&m=WaCT6SnxES98A1QUXbjOH55y-tZIbF9S9NJC0-BSttQ&s=VUI4FXeQwA_NGswwL4LDCV0pC5sOizlmJEfXyEiWBTY&e=>.
> 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)
>
>
Try building Mesa with the --enable-glx-tls flag.
-Brian
More information about the mesa-users
mailing list