Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 390931

Summary: media-libs/mesa-7.11: /usr/lib/dri/swrast_dri.so: undefined symbol: _glapi_tls_Context
Product: Gentoo Linux Reporter: Bartłomiej Syguła <gentoo>
Component: [OLD] LibraryAssignee: Gentoo X packagers <x11>
Status: RESOLVED OBSOLETE    
Severity: normal CC: bugs.gentoo.devel, gentoo
Priority: Normal    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Bartłomiej Syguła 2011-11-18 16:05:57 UTC
A day ago I noticed that applications which require OpenGL support will not start. Looking into Xorg logs, I found the following errors:


(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: undefined symbol: _glapi_tls_Context)
(EE) GLX: could not load software renderer

Similar errors appear for i965_dri.so

I tried to debug the problem, and found that the mentioned symbols are provided by openGL*.so libraries. As far as I could check *_dri.so libraries are not linked with openGL.so (or any other openGL*) library.

In my case, putting: LD_PRELOAD=/usr/lib/libGL.so into env.d solved the problem, but I think it's a hack/workaround, not a proper solution.

Please let me know, it you need any additional information. I can debug the problem further, and try other solutions/patches/versions, if guided.

Reproducible: Always

Actual Results:  
mesa/*_dri.so not linking with openGL.so

Expected Results:  
mesa/*_dri.so should be linked with openGL.so


$ emerge --info
Portage 2.1.10.35 (default/linux/x86/10.0/desktop, gcc-4.5.3, glibc-2.13-r4, 3.0.4-gentoo i686)
=================================================================
System uname: Linux-3.0.4-gentoo-i686-Intel-R-_Core-TM-_i5_CPU_M_480_@_2.67GHz-with-gentoo-2.1
Timestamp of tree: Fri, 18 Nov 2011 10:15:01 +0000
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.6-r2, 2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r3
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.4_p6-r1, 1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo Localne-repo perl-experimental bitcoin multimedia
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA @FREE AdobeFlash-10.1 Broadcom PUEL skype-eula dlj-1.1 Oracle-BCLA-JavaS"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -mtune=native -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config/kdm /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/skel /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -mtune=native -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://ftp.halifax.rwth-aachen.de/gentoo/ ftp://mirror.cambrium.nl/pub/os/linux/gentoo/ ftp://mirror.opteamax.de/gentoo/ http://ftp.heanet.ie/pub/gentoo/ http://gd.tuwien.ac.at/opsys/linux/gentoo/"
LANG="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1,--as-needed"
LINGUAS="en de pl"
MAKEOPTS="-j6 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage-overlay /var/lib/layman/perl-experimental /var/lib/layman/bitcoin /var/lib/layman/multimedia"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi aiglx aim alsa artswrappersuid audiofile bash-completion berkdb bidi bluetooth bzip2 cairo caps cdda cddb cdr cjk cli consolekit cracklib crypt cups curl custom-cflags custom-optimization cxx dbus dga dri dts dv dvb dvd dvdr dvdread emboss encode exif fam fame fat ffmpeg firefox flac foomatic-db freetype gdbm gdu gif gimpprint git gmp gnome gnome-keyring gnutls gpm graphicsmagick gsm gstreamer gtk iconv icq ieee1394 imap inotify ipv6 irc jabber jfs joystick jpeg jpeg2k laptop lcd lcms libcanberra libnotify live lzo mad mail matroska mjpeg mmx mng modules mozdevelop mp3 mp3rtp mp4 mpeg msn mudflap musepack musicbrainz ncurses network networkmanager nls nptl nptlonly nsplugin nspluginwrapper ntfs ogg openal openexr opengl openmp pam pango pcmcia pcre pda pdf perl pic png policykit ppds pppd rar rdesktop readline reiserfs rss samba sdl session slp smp speex spell sqlite3 sse sse2 sse3 ssl ssse3 startup-notification stream subversion svg sysfs system-sqlite tcpd theora threads thunar tiff truetype udev unicode usb v4l v4l2 vaapi vdpau vim-syntax visibility visualization vorbis webgl webkit wifi win32codecs wmf x264 x86 xcb xcomposite xfs xinetd xml xorg xpm xprint xulrunner xv xvid xvmc yahoo zlib" ALSA_CARDS="emu10k1x darla20 darla24 emu10k1 gina20 gina24 hdsp hdspm ice1712 indigo indigoio layla20 layla24 mia mixart mona pcxhr rme32 rme96 sb16 sbawe sscape usbusx2y vx222 usb-usx2y" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="agfa_cl20 casio_qv dimagev dimera3500 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica_qm150 panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ricoh_g3 sipix_blink sipix_blink2 sipix_web2 sony_dscf1 sony_dscf55 toshiba_pdrm11 adc65 aox barbie canon clicksmart310 digigr8 digita directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 konica largan lg_gsm mars mustek pccam300 pccam600 ptp2 ricoh samsung sierra smal sonix soundvision spca50x sq905 stv0674 stv0680 sx330z template" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de pl" LIRC_DEVICES="audio audio_alsa serial" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel fbdev vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Bartłomiej Syguła 2011-11-18 16:19:30 UTC
Perhaps important:

1)
running glxinfo in X session without openGL.so linked results in:

Error: couldn't find RGB GLX visual or fbconfig
name of display: :42

2)
re-emerging mesa without "--as-needed" do not seem to change anything.
Comment 2 Matt Turner gentoo-dev 2011-11-18 18:35:28 UTC
With what USE flags are you building mesa and xorg-server? Please give the output of `emerge mesa xorg-server -vp`.
Comment 3 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-11-18 18:39:21 UTC
In the past, such problems came from funky LDFLAGS like bug 246758. But yours look ok.
Comment 4 Joshua Pettett 2012-04-26 21:58:50 UTC
I just hit this bug, but with the radeon (xf86-video-ati) driver.  The same work-around applies, but I would like to not have to use such a hack.


Output from `emerge mesa xorg-server -vp`:

[ebuild   R    ] media-libs/mesa-7.11.2  USE="classic egl gallium llvm motif nptl pic shared-glapi -bindist -debug -gbm -gles -openvg -osmesa -pax_kernel (-selinux) -shared-dricore" VIDEO_CARDS="radeon -intel -mach64 -mga -nouveau -r128 -savage -sis -tdfx -via -vmware" 0 kB
[ebuild   R    ] x11-base/xorg-server-1.9.5-r1  USE="doc ipv6 nptl udev xorg -dmx -kdrive -minimal -static-libs -tslib -xnest -xvfb" 0 kB


Emerge Info:
Portage 2.1.10.49 (default/linux/x86/10.0/desktop, gcc-4.5.3, glibc-2.14.1-r3, 2.6.35-gentoo-r15forjosh3 i686)
=================================================================
System uname: Linux-2.6.35-gentoo-r15forjosh3-i686-Intel-R-_Pentium-R-_4_CPU_2.80GHz-with-gentoo-2.0.3
Timestamp of tree: Thu, 26 Apr 2012 07:00:01 +0000
ccache version 3.1.6 [disabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.6
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13::<unknown repository>, 2.68
sys-devel/automake:       1.5-r1, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r3
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs collision-protect distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="http://eequalsmc2/gentoo http://mirror.datapipe.net/gentoo http://open-systems.ufl.edu/mirrors/gentoo http://mirrors.acm.cs.rpi.edu/gentoo/ http://mirror.datapipe.net/gentoo http://gentoo.chem.wisc.edu/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en_US en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://netserver/gentoo-portage"
USE="X a52 aac acl acpi adns aim alsa apache2 arts audiofile avi bash-completion berkdb bitmap-fonts branding bzip2 cairo caps cdda cdr cleartype cli consolekit cracklib crypt cscope cups curl cxx dbus dbx doc dri dts dvd dvdr dvdread emboss encode exif expat fam ffmpeg firefox flac flash flatfile fortran ftp gd gdbm gdu gif gmp gnutls gpm gstreamer gtk iconv idn imagemagick imap imlib innodb ipv6 jabber java java6 joystick jpeg kde lcms ldap libnotify mad mhash mikmod mime ming mmx mng modules motif mozilla mp3 mp4 mpeg mtp mudflap mysql mysqli ncurses nis nls nptl nptlonly nsplugin odbc ogg opengl openmp oscar pam pango pcntl pcre pda pdf perl php pic pie png policykit posix ppds pppd qt3support qt4 quicktime readline reflection ruby samba sasl sdl semantic-desktop session shared sharedmem simplexml smp soap sockets speex spell spl sqlite sse sse2 ssl startup-notification svg sysfs sysvipc tcltk tcpd theora threads tidy tiff tk tokenizer truetype truetype-fonts type1 udev unicode usb vhosts videos vim-syntax vorbis vpx webkit win32codecs wmf wxwidgets x264 x86 xcb xine xinerama xml xmlrpc xmms xorg xosd xulrunner xv xvid yahoo zlib" ALSA_CARDS="emu10k1 emu10k1x intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en" NETBEANS_MODULES="apisupport java websvccommon php" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18 ree18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 5 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-04-26 22:14:18 UTC
Why such an old X server? Does a newer X server help?
Comment 6 Joshua Pettett 2012-04-27 00:56:12 UTC
(In reply to comment #5)
> Why such an old X server? Does a newer X server help?

Doh, my bad; upgrading to latest stable xorg-server does indead fix the problem.  I had masked it a while back because it didn't work with my old nvidia card, and I forgot to unmask it.

Makes me wonder if the OP had just needed to upgrade as well.
Comment 7 Bartłomiej Syguła 2012-04-27 07:05:34 UTC
I'm still using the 'hack' - libGL.so forced in by LD_PRELOAD - as described in bug description.

This weekend I'll check if new version works without the hack, and report back to you.