Last year I followed the Migrating to Modular X HOWTO that told me to add a bunch of X packages to /etc/portage/package.keywords. Recently I synced and executed "emerge -uDN world". The next time I tried to start X it froze my system. Neither Ctrl+Alt+F1 nor Ctrl+Alt+Backspace worked. Ctrl+Alt+Delete was the only way out (reboot). When I was back I found this at the end of /var/log/kdm.log: /usr/bin/X: symbol lookup error: /usr/lib/dri/r300_dri.so: undefined symbol: drmCloseOnce X Window System Version 7.2.0 Release Date: 22 January 2007 X Protocol Version 11, Revision 0, Release 7.2 Build Operating System: Linux 2.6.18-gentoo-r6 i686 Current Operating System: Linux localhost 2.6.18-gentoo-r6 #1 Thu Dec 28 15:19:30 CET 2006 i686 Build Date: 28 January 2007 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Module Loader present Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jan 29 20:00:05 2007 (==) Using config file: "/etc/X11/xorg.conf" /usr/bin/X: symbol lookup error: /usr/lib/xorg/modules/extensions//libdri.so: undefined symbol: drmSetServerInfo I worked around the problem by removing all the X lines from /etc/portage/package.keywords and executing "emerge -uDN world". Now I am back in the desktop with xorg-server 1.1.1-r4. So whatever you do, do not remove the keyword ~x86 from xorg-server-1.2.0.ebuild! Reproducible: Always Steps to Reproduce:
- post emerge -pv =xorg-server-1.2* - attach xorg.conf - post emerge --info - reopen then
Created attachment 108539 [details] output of: grep -vE "^[[:space:]]*(#|$)" /etc/X11/xorg.conf
# emerge -pv =xorg-server-1.2* These are the packages that would be merged, in order: Calculating dependencies !!! All ebuilds that could satisfy "=xorg-server-1.2*" have been masked. !!! One of the following masked packages is required to complete your request: - x11-base/xorg-server-1.2.99.0 (masked by: package.mask, missing keyword) # Joshua Baergen <joshuabaergen@gentoo.org> (02 Nov 2006) # X input hotplug and related packages # Some of these may already be covered by other masks - please leave them # anyway - x11-base/xorg-server-1.2.0 (masked by: ~x86 keyword) For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. After adding: x11-base/xorg-server x11-libs/libdrm x11-libs/libXfont media-libs/mesa to /etc/portage/package.keywords, I get this: # emerge -pv =xorg-server-1.2* These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] x11-libs/libdrm-2.3.0 [2.0.2] USE="-debug" 0 kB [ebuild U ] x11-libs/libXfont-1.2.7 [1.2.2] USE="ipv6 -debug" 0 kB [ebuild U ] media-libs/mesa-6.5.2 [6.5.1-r1] USE="doc nptl -debug -hardened -motif -xcb%" VIDEO_CARDS="radeon -i810 -mach64 -mga -none -r128 -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB [ebuild U ] x11-base/xorg-server-1.2.0 [1.1.1-r4] USE="dri ipv6 nptl sdl xorg -3dfx -debug -dmx -kdrive -minimal -xprint (-aiglx%)" INPUT_DEVICES="keyboard mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev -fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom" VIDEO_CARDS="radeon -apm -ark -chips -cirrus -cyrix -dummy -epson -fbdev -fglrx -glint -i128 -i740 -i810 (-impact) -imstt -mach64 -mga -neomagic (-newport) -nsc -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB Total size of downloads: 0 kB # emerge --info Portage 2.1.1-r2 (default-linux/x86, gcc-4.1.1, glibc-2.4-r4, 2.6.18-gentoo-r6 i686) ================================================================= System uname: 2.6.18-gentoo-r6 i686 Intel(R) Pentium(R) M processor 1.60GHz Gentoo Base System version 1.12.6 Last Sync: Sun, 28 Jan 2007 07:01:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium-m -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/grass60/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/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O3 -march=pentium-m -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/" LANG="swedish" LINGUAS="sv de" 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="/portage_tmpdir" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X Xaw3d a52 aac acl acpi ada alsa alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2 arts athena audiofile authdaemond bash-completion berkdb bitmap-fonts bzip2 canna cdda cddb cdio cdparanoia cli cracklib crypt css cups curl dga dhcp directfb dlloader doc dri dts dvb dvd dvdread elibc_glibc emacs encode expat fam fbcon ffmpeg firebird firefox flac fortran freewnn gcj ggi gif gmp gnutls gpm guile hal howl httpd i8x0 iconv imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog javascript jpeg jpeg2k kde kdeenablefinal kdehiddenvisibility kerberos kernel_linux krb4 lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text lcms ldap leim lesstif libg++ libsamplerate linguas_de linguas_sv mad matroska mikmod mjpeg mmx mmx2 mng mp3 mpeg mule musepack musicbrainz mysql ncurses nls no-old-linux nptl nptlonly nsplugin odbc ogg openexr opengl pam pcmcia pcre pdf perl php physfs png portaudio postgres povray pppd python qt3 qt4 quicktime quotas readline reflection samba sasl sdl session slp sndfile speex spell spl sql sse sse2 ssl stream subversion svg tcpd theora tidy tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU v4l vcd vda video_cards_radeon vorbis wifi win32codecs wma wmf xanim xface xine xinerama xml xorg xv zeroconf zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Greetings, I can confirm this issue, though the work-around I use is simply removing the libdri.so as I don't need DRI for most of what I do. My system is a Intel Core 2 Duo (T7200) w/GB RAM, ATI Radeon Mobility x1400 w/256MB RAM. Output of lspci -vv for the Video device; --- Cut --- Paste --- Cut --- Paste --- Cut --- Paste --- 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400 (prog-if 00 [VGA]) Subsystem: Dell Unknown device 2003 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 4 Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M] Region 1: I/O ports at ee00 [size=256] Region 2: Memory at efdf0000 (32-bit, non-prefetchable) [size=64K] [virtual] Expansion ROM at efd00000 [disabled] [size=128K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] Express Legacy Endpoint IRQ 0 Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag+ Device: Latency L0s <4us, L1 unlimited Device: AtnBtn- AtnInd- PwrInd- Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported- Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ Device: MaxPayload 128 bytes, MaxReadReq 128 bytes Link: Supported Speed 2.5Gb/s, Width x16, ASPM L0s L1, Port 0 Link: Latency L0s <64ns, L1 <1us Link: ASPM L1 Enabled RCB 64 bytes CommClk+ ExtSynch- Link: Speed 2.5Gb/s, Width x16 Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000 --- Cut --- Paste --- Cut --- Paste --- Cut --- Paste --- My emerge info; --- Cut --- Paste --- Cut --- Paste --- Cut --- Paste --- Portage 2.1.2-r9 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo i686) ================================================================= System uname: 2.6.20-gentoo i686 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz Gentoo Base System version 1.12.9 Timestamp of tree: Thu, 08 Feb 2007 15:00:01 +0000 ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31-r3 dev-lang/python: 2.4.4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.20 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=i686 -O3 -pipe -msse2 -mmmx -mfpmath=sse -funit-at-a-time -mno-tls-direct-seg-refs" 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/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=i686 -O3 -pipe -msse2 -mmmx -mfpmath=sse -funit-at-a-time -mno-tls-direct-seg-refs" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LINGUAS="en en_GB en_US utf8" MAKEOPTS="-j3" 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/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac aalib acpi alsa apache2 arts avi bcmath berkdb bitmap-fonts bluetooth bzip2 cairo ccache cdr cli cracklib crypt cups cvs dbus dga directfb divx dlloader dri drm dts dv dvb dvd dvdr dvdread eds emboss encode esd fam fglrx firefox flac fortran gd gdbm gif gmedia gnome gpg2-experimental gstreamer gtk hal iconv ieee1394 imlib ipod iproute2 ipv6 isdnlog jack java javascript jpeg kde kdeenablefinal kdehiddenvisibility ldap libg++ lirc mad midi mikmod mmx mmxext mozbranding mp3 mpeg mysql nas ncurses network nfs nls no-old-linux nptl nptlonly nsplugin ogg openal opengl oss pam pcre pdflib perl php png ppds pppd python qt3 qt4 quicktime readline real realmedia reflection resolvconf rtc samba screen sdl session smp speex spell spl sql sse sse2 ssl subversion svga synaptics theora threads truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vcd vidix vnc vorbis win32codecs x264 x86 xinerama xml xorg xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB en_US utf8" LIRC_DEVICES="mceusb mceusb2" USERLAND="GNU" VIDEO_CARDS="fglrx" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Okay, I found a work-around for this issue. Emerge libdrm as normal, then manually unpack libdrm, configure, make and install. By default this will go to /usr/local/lib. Once that is complete, replace /usr/lib/libdrm.so.2.3.0 with the version in /usr/local/lib/libdrm.so.2.3.0. Then run env-update ; ldconfig ; source /etc/profile. Once that is done, you will get another error dlsym for __driCreateNewScreen_20050727 failed (/usr/lib/dri/fglrx_dri.so: undefined symbol: __driCreateNewScreen_20050727) This one you can resolve by adding the following to your xorg.conf file; Section "ServerFlags" Option "AIGLX" "off" EndSection
*** Bug 172786 has been marked as a duplicate of this bug. ***
Please attach the output of ldd /usr/lib/xorg/modules/extensions//libdri.so|grep drm
This issue should be fixed now that 7.2 is stable and libdrm 2.3.0 is also stable. True ??
Please reopen when you reply.
Today it happened again. During the first boot after the system got upgraded with xorg-1.3.0. The system locked. I did the usual procedure: rebooted with Ctrl+Alt+Delete, pressed I to boot interactively, said yes to everything except xdm, logged in at the console, went to /var/log and looked in kdm.log. Same error message as usual. I went to /usr/lib/xorg/modules/extensions/ and did "mv libdri.so trash/". Then I could start X again, as usual. To answer Joshuas question: the output of "ldd /usr/lib/xorg/modules/extensions/trash/libdri.so|grep drm" is: libdrm.so.2 => /lib/libdrm.so.2 (0xb7???000) (where ??? are digits that change when the command is executed repeatedly. Some values I get are: 0xb7ed5000 0xb7ef5000 0xb7fb4000 0xb7ee2000 0xb7f2a000 0xb7fba000 0xb7f15000 0xb7fa5000 0xb7fb6000 0xb7f82000 0xb7f37000 0xb7ed4000 0xb7f42000 0xb7f49000 0xb7f22000 0xb7ede000 0xb7efe000 0xb7ee9000 0xb7f22000 0xb7f73000 0xb7f57000 0xb7fcc000 0xb7f32000 0xb7f84000 0xb7fa4000 0xb7f4c000 0xb7f37000)
xorg-server 1.5.3 and newer libdrm/mesa should behave much better than older versions. Adding the dep so we can revisit this bug when 1.5.3 goes stable (hopefully soon). Thanks
Xorg 1.5.3 is now stable. If you can reproduce this issue with the new version, please don't hesitate to reopen this bug. Thanks