After an upgrade of X and mesa, I lost all my opengl capabilities. I have the proper kernel driver for my i915 video card, I have mesa and everything else, but still I get the message that glx extension can't be loaded, because it's missing.It's not in the extensions directory. It's not even on the hdd. I've searched for it, but in vain. Here's the information : $ ls /usr/lib/xorg/modules/extensions libdbe.so libdri.so libextmod.so librecord.so libxtrap.so Portage 2.1.2_pre2-r9 (default-linux/x86/2006.1, gcc-4.1.1/vanilla, glibc-2.4-r4, 2.6.18-suspend2 i686) ================================================================= System uname: 2.6.18-suspend2 i686 Intel(R) Celeron(R) M processor 1.50GHz Gentoo Base System version 1.12.5 Last Sync: Thu, 12 Oct 2006 07:50:01 +0000 app-admin/eselect-compiler: 2.0.0_rc2-r1 dev-java/java-config: 1.3.0-r2, 2.0.26 dev-lang/python: 2.3.5-r2, 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: 0.4.2-r1 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: [Not Present] sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig confcache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.itdnet.net/gentoo http://distfiles.gentoo.org" LC_ALL="bg_BG" LINGUAS="bg en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dfx acpi berkdb bitmap-fonts cli crypt cups dlloader dri elibc_glibc fortran gdbm glitz gpm input_devices_keyboard input_devices_mouse input_devices_synaptics ipv6 isdnlog kdexdeltas kernel_linux libg++ linguas_bg linguas_en mmx ncurses nls nptl nptlonly opengl pam pcre perl ppds pppd python readline reflection session spl sse sse2 ssl tcpd truetype-fonts type1-fonts udev unicode userland_GNU video_cards_fbdev video_cards_i810 video_cards_vesa xorg zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS If you need more information, just ask.
eselect opengl set xorg-x11 (or nvidia or whatever else). If that still doesn't work, reopen with xorg.conf
Created attachment 99572 [details] xorg.conf It still doesn't find the glx extension.
Forgot to set the reopen state
Install portage-utils, and provide the output of these commands: qlist xorg-server | grep libglx ls -l $(qlist xorg-server | grep libglx) eselect opengl set xorg-x11 ls -l /usr/lib/xorg/modules/extensions/ qlist -I -v eselect
Tindor xorg-x11 # qlist xorg-server | grep libglx Tindor xorg-x11 # ls -l $(qlist xorg-server | grep libglx) total 292 -rw-r--r-- 1 root root 124652 Oct 6 05:47 ChangeLog -rw-r--r-- 1 root root 7809 Oct 6 05:47 Manifest drwxr-xr-x 2 root root 4096 Sep 13 00:06 files -rw-r--r-- 1 root root 230 Oct 24 2004 metadata.xml -rw-r--r-- 1 root root 62778 Sep 13 00:06 xorg-x11-6.8.2-r8.ebuild -rw-r--r-- 1 root root 61218 Sep 13 00:06 xorg-x11-6.9.0-r3.ebuild -rw-r--r-- 1 root root 9786 Oct 6 05:47 xorg-x11-7.0-r1.ebuild -rw-r--r-- 1 root root 3775 Oct 1 08:36 xorg-x11-7.1.ebuild (This is the same as ls -l in the current dir) Tindor xorg-x11 # eselect opengl set xorg-x11 Switching to xorg-x11 OpenGL interface... done Tindor xorg-x11 # ls -l /usr/lib/xorg/modules/extensions/ total 240 -rwxr-xr-x 1 root root 15508 Oct 13 16:49 libdbe.so -rwxr-xr-x 1 root root 29316 Oct 13 16:49 libdri.so -rwxr-xr-x 1 root root 128200 Oct 13 16:49 libextmod.so -rwxr-xr-x 1 root root 23412 Oct 13 16:49 librecord.so -rwxr-xr-x 1 root root 33016 Oct 13 16:49 libxtrap.so Tindor xorg-x11 # qlist -I -v eselect app-admin/eselect-1.0.5 app-admin/eselect-compiler-2.0.0_rc2-r1 app-admin/eselect-esd-20060719 app-admin/eselect-oodict-20060706 app-admin/eselect-opengl-1.0.4
Output of `emerge -vp xorg-server`?
emerge -vp xorg-server These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] x11-base/xorg-server-1.1.1-r1 USE="3dfx dri ipv6 nptl xorg -debug -dmx -kdrive -minimal -sdl -xprint" INPUT_DEVICES="keyboard mouse synaptics -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev -fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax -penmount -spaceorb -summa -tek4957 -ur98 -vmmouse -void -wacom" VIDEO_CARDS="fbdev i810 vesa -apm -ark -chips -cirrus -cyrix -dummy -epson -fglrx -glint -i128 -i740 (-impact) -imstt -mach64 -mga -neomagic (-newport) -nsc -nv -nvidia -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vga -via -vmware -voodoo" 0 kB Total size of downloads: 0 kB
Could you attach a log of the configure script output?
Created attachment 99609 [details] The log
I compiled the same version on my other PC. Everything was the same, except the video card. I copied the file and that's the message I got : dlopen: /usr/lib/xorg/modules/extensions/libglx.so: undefined symbol: noGlxExtension (EE) Failed to load /usr/lib/xorg/modules/extensions/libglx.so (EE) Failed to load module "glx" (loader failed, 7) Is there a way to get a binary X package with glx support ?
Your configure is missing the mesa symlinking section for some reason ... the test for it is: if test "x$GLX" = xyes && ! test "x$MESA_SOURCE" = x GLX is turned on by default and is not autodetected, and MESA_SOURCE is set whenever USE=xorg (which you have). We discover farther down that since you have DMX set, that should also check for GL if GLX is set, right after the check for input/keyboard.h: if test "x$GLX" = xyes; then PKG_CHECK_MODULES([GL], [glproto]) fi However, it's not, so the GLX setting is the culprit rather than MESA_SOURCE. How is this happening? Good question, but I bet it's related to your use of confcache, which I noticed when looking at the line passed into configure. Please disable it (FEATURES="-confcache") and retry. You can clearly see that an incorrect configure line is passed in: /usr/bin/confcache --confcache-ignore /var/tmp/.distcc --confcache-dir /var/tmp/confcache ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr --datadir=/usr/share --build=i686-pc-linux-gnu Again, please retry with confcache disabled.
I disabled confcache and reemerged, but it still doesn't create a libglx module.
Please attach configure output again.
Created attachment 99758 [details] configure.log The new configure.log
It still isn't passing any of the right stuff to configure, just the econf defaults: ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr --datadir=/usr/share --build=i686-pc-linux-gnu Do you have an x-modular.eclass in your sunrise overlay checkout, or in any other overlay? Perhaps CONFIGURE_OPTIONS isn't being treated correctly. Try cleaning out /var/tmp/portage/ as well: rm -rf /var/tmp/portage/*
I don't have such a class in the SUNRISE overlay. The only one is in : /usr/portage/eclass/x-modular.eclass. I tried to clean /var/tmp/portage, but in vain. Will try it again in a few minutes, but I'm quite sceptical. About the problem with passing the right arguments - I had the same problem with Mesa - I couldn't emerge it, unless I specified CONFIG=linux-dri-x86 before the emerge command. Maybe if you tell me the right options, I could try that way ? Anyway, I'll write back as soon as the new emerge is finished to tell you whether purging /var/tmp/portage worked or not.
Well, after the purge it still doesn't set the correct settings : * econf: updating xorg-server-1.1.1/config.guess with /usr/share/gnuconfig/config.guess * econf: updating xorg-server-1.1.1/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr --datadir=/usr/share --build=i686-pc-linux-gnu
What version of bash do you have installed currently?
Ah. So it's not preserving variables across ebuild phases.
Here's my bash version : GNU bash, version 3.1.17(1)-release (i686-pc-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc. I think it's the latest, as I sync at least once a week. So the problem is not bash. Maybe some configuration files, but I've upgraded portage each time a new version came, so I really have no idea.
I think I found the cause - the last 2 lines of my make.conf looked like this : ;PORTAGE_ELOG_CLASSES="warn error log" ;PORTAGE_ELOG_SYSTEM="save" I commented them and now the configure looks like this : ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr --datadir=/usr/share --enable-ipv6 --disable-dmx --disable-kdrive --enable-xvfb --enable-xnest --enable-xorgcfg --enable-install-libxf86config --enable-dri --enable-xorg --disable-xprint --enable-glx-tls --sysconfdir=/etc/X11 --localstatedir=/var --enable-install-setuid --with-fontdir=/usr/share/fonts --disable-xsdl --with-mesa-source=/var/tmp/portage/x11-base/xorg-server-1.1.1-r1/work/Mesa-6.5.1 --build=i686-pc-linux-gnu