Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 532574 - x11-drivers/ati-drivers-14.12 - (EE) Failed to load /usr/lib32/xorg/modules/extensions/libglx.so: /usr/lib32/xorg/modules/extensions/libglx.so: wrong ELF class: ELFCLASS32
Summary: x11-drivers/ati-drivers-14.12 - (EE) Failed to load /usr/lib32/xorg/modules/e...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-14 17:10 UTC by walt
Modified: 2017-02-23 22:55 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Xorg.log (Xorg.0.log.old,19.74 KB, text/plain)
2014-12-14 17:36 UTC, walt
Details
xorg.conf (xorg.conf,684 bytes, text/plain)
2014-12-14 17:41 UTC, walt
Details
10-files.conf (10-files.conf,1021 bytes, text/plain)
2014-12-14 17:42 UTC, walt
Details
20-fglrx-driver.conf (20-fglrx-driver.conf,97 bytes, text/plain)
2014-12-14 17:43 UTC, walt
Details
20-opengl.conf (20opengl.conf,139 bytes, text/plain)
2014-12-14 17:44 UTC, walt
Details
30-trackball.conf (30-trackball.conf,221 bytes, text/plain)
2014-12-14 17:44 UTC, walt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description walt 2014-12-14 17:10:51 UTC
[    53.028] (II) LoadModule: "glx"
[    53.028] (II) Loading /usr/lib32/xorg/modules/extensions/libglx.so
[    53.028] (EE) Failed to load /usr/lib32/xorg/modules/extensions/libglx.so: /usr/lib32/xorg/modules/extensions/libglx.so: wrong ELF class: ELFCLASS32
[    53.028] (II) UnloadModule: "glx"
[    53.028] (II) Unloading glx
[    53.028] (EE) fglrx: Failed to load module "glx" (loader failed, 7)

Here are my flags:

Installed versions:  14.12(1)^ftd(08:29:48 AM 12/14/2014)(modules -debug -pax_kernel -qt4 -static-libs ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32" KERNEL="linux")

#eselect opengl list
Available OpenGL implementations:
  [1]   ati *
  [2]   xorg-x11


Reproducible: Always
Comment 1 walt 2014-12-14 17:14:29 UTC
#emerge --info
Portage 2.2.15 (python 2.7.8-final-0, default/linux/amd64/13.0/desktop/gnome/systemd, gcc-4.8.3, glibc-2.20, 3.14.26-gentoo x86_64)
=================================================================
System uname: Linux-3.14.26-gentoo-x86_64-AMD_A6-3600_APU_with_Radeon-tm-_HD_Graphics-with-gentoo-2.2
KiB Mem:     3533868 total,   2330112 free
KiB Swap:    4144732 total,   4144732 free
Timestamp of tree: Sun, 14 Dec 2014 15:30:01 +0000
sh bash 4.3_p30-r1
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.3_p30-r1
dev-java/java-config:     2.2.0
dev-lang/perl:            5.20.1-r3
dev-lang/python:          2.7.8, 3.3.5-r1, 3.4.2
dev-util/cmake:           3.0.2
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.6
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.12.6, 1.13.4, 1.14.1
sys-devel/binutils:       2.23.2, 2.24-r3
sys-devel/gcc:            4.7.3-r1, 4.8.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.3-r2
sys-devel/make:           4.1-r1
sys-kernel/linux-headers: 3.17-r1 (virtual/os-headers)
sys-libs/glibc:           2.20
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going=y --quiet-build=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-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=""
USE="3dnow 3dnowext 64bit X a52 aac acl adns aio alsa amd64 amr apng archive aspell audio autoipd automount autotools avahi bash-completion berkdb bidi bittorrent boost bufferevents bzip2 cairo caja cdda cdparanoia cdr cdrom cjk cli client clutter cmake corefonts cracklib crypt css cups cxx dane dbus dconf device-mapper djvu dri drm dts dv dvd dvdr ecc egl elfutils elisp emboss enca encode evdev evo exceptions exif extensions faac faad fame fat fax ffmpeg flac fltk fontconfig fpx frei0r ftp fts3 fuse g3dvl gallium gcj gcrypt gdbm gdu geoip gif gimp git glamor glib glut gmp gnome-keyring gnutls gpg graphite gstreamer gtk gtk2 gudev h323 hpcups http hwdb iconv icu imagemagick imap imlib introspection iplayer ipv6 java java6 javascript jbig jbootstrap jce jpeg jpeg2k kqemu kvm lame lcms libburn libkms libnotify libsecret libssh2 libwww live llvm-gcc logrotate lua lzma lzo mad madwifi mate md5sum mdev mdnsresponder-compat mime mimencode minizip mjpeg mms mmx mmxext mng modemmanager modperl modules mozdom mp3 mp4 mpeg mplayer mta mtp multilib multislot nat-pmp ncurses net netpbm network networking nfs nfsdcld nfsidmap nfsv3 nfsv4 nfsv41 nntp nocd nptl nsplugin offensive ogg ogg123 opengl openmp openrc opensslcrypt opus oss pam pam_ssh pango parted passfile passwordsave pcap pcre pdf pdfimport perl pgf pkcs11 playlist png pnm policykit pop posix postproc ppds ppp pppd pulseaudio python python2 qemu qt4 quicktime rar rdesktop rdoc rdp readline real regex rtsp samba scanner sdl secure-delete security sendto session sha512 sharedmem sip smime smp smtp sockets sound sqlite sqlite3 sse sse2 ssh ssl startup-notification svg swat symlink sysfs syslog system-boost system-sqlite systemd sysvipc tcpd templates tga tgif theora threads threadsafe thunderbird tiff tk tls tools tor tor-hardening transcode truetype twolame type3 udev udisks unicode unlock-notify usb utils uudeview uuencode vala vdpau vga video vorbis vte wav weather webgl webm webp win32codecs wma wxwidgets x264 xanim xcb xft xine xml xorg xpm xrandr xterm xv xvid xvmc youtube yv12 zip zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 author" 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 ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby20" USERLAND="GNU" VIDEO_CARDS="fglrx vga" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 2 emil karlson 2014-12-14 17:27:48 UTC
Could you attach full Xorg.0.log or equivalent
Comment 3 emil karlson 2014-12-14 17:30:06 UTC
And xorg.conf and whatever parts are in xorg.conf.d
Comment 4 walt 2014-12-14 17:36:08 UTC
Created attachment 391712 [details]
Xorg.log
Comment 5 walt 2014-12-14 17:41:45 UTC
Created attachment 391716 [details]
xorg.conf
Comment 6 walt 2014-12-14 17:42:53 UTC
Created attachment 391718 [details]
10-files.conf
Comment 7 walt 2014-12-14 17:43:31 UTC
Created attachment 391720 [details]
20-fglrx-driver.conf
Comment 8 walt 2014-12-14 17:44:15 UTC
Created attachment 391722 [details]
20-opengl.conf
Comment 9 walt 2014-12-14 17:44:47 UTC
Created attachment 391724 [details]
30-trackball.conf
Comment 10 emil karlson 2014-12-14 17:47:25 UTC
20-opengl.conf sets the ModulePath that seems to cause this problem, why is it necessary and who created it?
Comment 11 walt 2014-12-14 18:26:17 UTC
That file is dated Dec 8.  Here's what I installed that day:

Mon Dec  8 12:53:51 2014 >>> sys-kernel/gentoo-sources-3.17.5
Mon Dec  8 13:04:50 2014 >>> x11-drivers/ati-drivers-14.9-r1
Mon Dec  8 13:05:19 2014 >>> app-emulation/virtualbox-modules-4.3.20
Mon Dec  8 15:16:03 2014 >>> x11-drivers/ati-drivers-14.9-r1
Mon Dec  8 15:39:20 2014 >>> dev-db/sqlite-3.8.7.3
Mon Dec  8 15:41:07 2014 >>> net-dns/unbound-1.5.1
Mon Dec  8 15:41:22 2014 >>> dev-ruby/rake-10.4.2
Mon Dec  8 15:42:59 2014 >>> net-misc/wget-1.16.1
Mon Dec  8 15:50:20 2014 >>> media-libs/mesa-10.3.5
Mon Dec  8 15:52:51 2014 >>> x11-libs/cairo-1.12.18
Mon Dec  8 15:53:11 2014 >>> app-emulation/emul-linux-x86-opengl-20140508

Neither qfile or equery shows who installed 20opengl.conf, though.
Comment 12 emil karlson 2014-12-14 21:44:22 UTC
Can you just try to remove the

ModulePath "/usr/lib32/xorg/modules"

I don't think that should cause any problems, I would just like to know what triggered the creation of that file.

I guess more people will complain if there is something.
Comment 13 walt 2014-12-15 00:27:57 UTC
Yes, commenting out that line in 20opengl.conf fixes my problem.

As a test I just re-emerged these installed packages:

xorg-server, ati-drivers (both 14.9-r1 and 14.12), emul-linux-x86-opengl, mesa, eselect-mesa, eselect-opengl, eselect-opencl.  None of them touched the file 20opengl.conf.

I'm completely stumped, but my bug is fixed now thanks to you :)
Comment 14 walt 2014-12-31 17:28:21 UTC
I just figured out that eselect opengl re-generates 20opengl.conf every time I run it, adds the lib32 path above the lib64 path, thereby re-introducing the breakage.
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-01 12:40:00 UTC
This bug is a result of 3 different issues:

1. eselect is dumb and doesn't handle multilib correctly. In particular, it can't tell which libdir is the native one.

2. ati-drivers installs 32-bit xorg modules on amd64 unnecessarily,

3. xorg doesn't try other paths after first module loading attempt fails.

Right now, I'll fix (2) since it's the most straightforward solution. Sadly, this will require users to upgrade for things to work.

+*ati-drivers-14.12-r1 (01 Jan 2015)
+
+  01 Jan 2015; Michał Górny <mgorny@gentoo.org> +ati-drivers-14.12-r1.ebuild,
+  -ati-drivers-14.12.ebuild:
+  Do not install xorg modules on non-native ABIs since this breaks new eselect-
+  opengl, bug #532574.

I don't know if we actively support running old versions but if we do, we need to backport this change there.

I'm also adding a blocker to eselect-opengl to ensure that people don't upgrade while keeping incompatible versions of ati-drivers. If you backport this, the blocker needs to be updated as usual.
Comment 16 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-01 12:42:05 UTC
CC-ing Kaoru from bug #534128.
Comment 17 walt 2015-01-01 16:33:27 UTC
(In reply to Michał Górny from comment #15)

> 3. xorg doesn't try other paths after first module loading attempt fails.

This seems like the real bug here.  I just updated to -r1 and now X errors out because it doesn't look past /usr/lib32/xorg, which happens to be first in a list of three:

#cat /etc/X11/xorg.conf.d/20opengl.conf 
Section "Files"
	ModulePath "/usr/lib32/xorg/modules"
	ModulePath "/usr/lib64/opengl/ati"
	ModulePath "/usr/lib64/xorg/modules"
EndSection
Comment 18 vvgloo 2015-01-03 11:36:39 UTC
I like you, I soled this issue finally.
Comment 19 Matt Turner gentoo-dev 2017-02-23 22:55:28 UTC
ati-drivers is dead, and will not be supported for X.