Bug 232: OPEN
Mach64 dri: Undefined symbol _glapi_tls_Context
Date: 2020-04-11 - Creator: tomaspollak - Priority standard - 2 messages
Hello, I'm running Slitaz on an old VAIO laptop that has a Rage Mobility chip, so I installed the following packages to get 3D acceleration/DRI: - libdrm-mach64 - mesa-dri-mach64 - xorg-fx86-video-mach64 I updated my xorg.conf and everything seems fine (Xorg starts without a problem), but if I try to run glxinfo or glxgears I get no acceleration, and after running with LIBGL_DEBUG=verbose then I see what seems to be the reason: dlopen /usr/lib/dri/mach64_dri.so failed (/usr/lib/dri/mach64_dri.so: undefined symbol: _glapi_tls_Context) How can I fix this? Thank you
Affected package(s): mesa-dri-mach64 libdrm-mach64
Messages
By: mojo on 2020-05-11 15:10
Verify the mesa version installed is the same as mesa-dri-mach64 version. mesa7-7.10.2 mesa-dri-mach64-7.10.2
By: Gorgg33333 on 2020-06-13 03:59
Greetings, I had a similar problem, and I found out that it was caused by the fact that the mesa7 package only provides the libGLES\* libraries, and not the libGL\* libraries. This makes it so that the named symbol is not available in the libGL library, because the symbol was removed in mesa in between versions 7 and 9, and only the old version (mesa7) has it. Because the mach64 driver was also removed upstream in between these versions, it still uses the symbol. This is shown by the following: pkgs.slitaz.org/?filelist=mesa7 pkgs.slitaz.org/?filelist=mesa You can solve this by compiling Mesa 7 from source and installing manually, which I did following the commands on the mesa7 package receipt ( pkgs.slitaz.org/?receipt=mesa7). Run 'make install' at the end instead of the commands in genpkg_rules to install the needed libraries. For convenience, here are the specific commands I used: tazpkg recharge tazpkg get-install expat-dev libdrm-dev xorg-libXdamage-dev pkg-config xorg-libXxf86vm-dev xorg-libXt-dev xorg-dri2proto xorg-glproto talloc xorg-makedepend lesstif libxml2-python xorg-imake lesstif-dev xorg-server-dev udev-dev file libtool automake autoconf wget ftp://ftp.freedesktop.org/pub/mesa/older-versions/7.x/7.10.2/MesaLib-7.10.2.tar. bz2 tar -xf MesaLib-7.10.2.tar.bz2 cd Mesa-7.10.2 autoreconf -vfi ./configure --prefix=/usr --with-x --with-dri-driverdir=/usr/lib/dri --with-dri-drivers=mach64 --disable-gallium-llvm --enable-glx-tls --with-driver=dri --enable-xcb --disable-glut --enable-gles1 --enable-gles2 --enable-egl --enable-texture-float --disable-shared-dricore make make install This driver will only provide OpenGL 1.x, which most modern applications using OpenGL are incompatible with. However, if you do happen to have applications using this old version of GL, they will (most likely) run much faster. Keep in mind that you will have to reinstall these libraries after each upgrade that involves the packages mesa and mesa7. I am not exactly sure how this problem would be best resolved in the packaging system. Maybe something like a metapackage provided by two conflicting packages, assuming that is possible? I hope this was helpful, and thank you for using SliTaz.