Useless background: I am trying to create a Gentoo workstation to mimic a graphical feature of a CentOS5 box. When I connect to the CentOS5 box using Exceed (a PC X-server), I get a "Xinerma" type behavior, where both of my PC's monitors are recognized and used as two "displays". However, in exporting the Gentoo box's grapics, my 2 monitors are recognized as one huge display. The primary practical difference is how "maximize" works and where forms and splash screens appear. Bottom line: I am trying to mimic the CentOS5 graphical setup, which uses the "nv" driver instead of "nvidia". Problem: I am trying to downgrade from "nvidia" to the "nv" driver. I thought I did so successfully, but in trying to emerge "xorg-x11", I get an error about a missing "-lGL". I checked "eselect opengl", and I get this: # eselect opengl list Available OpenGL implementations: [1] xorg-x11 # eselect opengl show (none) # eselect opengl set 1 Switching to xorg-x11 OpenGL interface...ln: creating symbolic link `./libglx.so': File exists !!! Error: Failed to create lib64/libglx.so Killed I got similar errors for other files also. It appears that the links to the nvidia driver were not removed, and I had to remove them manually, like so: unlink /usr/lib32/libGL.so unlink /usr/lib32/libGLcore.so unlink /usr/lib64/libGL.so unlink /usr/lib64/libGLcore.so This has allowed me to progress a little further in trying to switch to working version of opengl, but I am stuck now. I expected eselect to unlink all the necessary links, even if they point to files that do not exist. Reproducible: Always Steps to Reproduce: 1. emerge -C nvidia-drivers 2. emerge xf86-video-nv xorg-server xorg-x11 3. eselect opengl xorg-x11 # emerge --info Portage 2.1.4.4 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r8 x86_64) ================================================================= System uname: 2.6.24-gentoo-r8 x86_64 Intel(R) Core(TM)2 Extreme CPU X9650 @ 3.00GHz Timestamp of tree: Mon, 09 Jun 2008 22:32:01 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13, 2.5.2-r2 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US" LC_ALL="en_US" LINGUAS="en" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--timeout=30" 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" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 apache2 apm arts audiofile avi bash-completion berkdb bidi bitmap-fonts bonobo bzip2 cairo cdda cddb cdio cdr cgi clamav cli cracklib crypt ctype cups dri dts dv dvd dvdr emacs encode esd exif expat fam ffmpeg firefox font-server fortran freetype gdbm gif gnome gpm gtk gtk2 hal iconv imlib ipv6 isdnlog java javascript jpeg kde libg++ libwww live lm_sensors mad matroska midi mikmod mmx motif mp3 mpeg mplayer mudflap multilib mysql ncurses nls nptl nptlonly nvidia ofx ogg oggvorbis openal openexr opengl openmp pam pcre pdf pdflib perl php plotutils pmu png posix pppd python qmail-spp qt qt3 qt3support qt4 quicktime rdesktop readline reflection ruby samba scanner sdl session simplexml slang snmp speex spell spl sse sse2 ssl stream svg tcl tcltk tcpd theora tidy tiff tk tokenizer truetype truetype-fonts type1 type1-fonts unicode usb vcd vhosts vim-syntax vlm vorbix wxwindows x264 xcomposite xml xmlrpc xorg xpm xv xvid xvmc zlib" 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" 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" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nv" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTDIR_OVERLAY
I found the 2 remaining missing links like so: # find / -xdev -ilname "*libglx.so*" -exec ls -latr '{}' \; lrwxrwxrwx 1 root root 45 2008-06-19 13:57 /usr/lib64/xorg/modules/extensions/libglx.so -> /usr/lib64/opengl/nvidia/extensions/libglx.so In the /usr/lib64/xorg/modules/extensions directory, which contained the broken libglx.so link, I found another broken link to an nvidia lib (), which I also deleted. Afterward, eselect opengl ran to completion and so did my previous emerges. I am pass my immediate hurdle, but should not eselect do this work for me (replacing all the links, even if they are broken)? Should I have to delete all the links manually? Thanks!
sorry, the other broken lib was: /usr/lib64/xorg/modules/extensions/libwfb.so -> /usr/lib64/opengl/nvidia/extensions/libwfb.so
I've just run into this issue. Portage 2.2_rc1 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.21-xen x86_64) ================================================================= System uname: Linux-2.6.21-xen-x86_64-AMD_Athlon-tm-_64_Processor_3000+-with-glibc2.2.5 Timestamp of tree: Wed, 16 Jul 2008 08:45:02 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.0/env /usr/kde/4.0/share/config /usr/kde/4.0/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/init.d /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d /usr/share/X11/xkb" CXXFLAGS="-march=athlon64 -O2" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--ask --alphabetical --verbose --tree" FEATURES="buildpkg collision-protect distlocks fixpackages parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS=" http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo http://mirror.switch.ch/mirror/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ " LANG="en_GB" LDFLAGS="" LINGUAS="en_GB en" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" 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/local/portage /usr/portage/local/layman/armagetron /usr/portage/local/layman/kdesvn-portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X aac acl acpi alsa amazon amd64 amr aoss apache2 apm asf avahi bash-completion bzip2 cairo caps cdr cli cracklib crypt cups curl dbus dedicated dga dri dts dvd dvdr dvdread emboss enca encode evo exif expat fbcon ffmpeg firefox flac ftp gif gnutls gtk hal iconv idn ipod ipv6 isdnlog ithreads java javascript jpeg jpeg2k junit kde kerberos lcms lirc lzo mad midi mikmod mjpeg mmx mmxext mng mozsvg mp3 mp4 mpeg mudflap musepack mysql mysqli ncurses newspr nls nocd nptl nptlonly nvidia ogg oggvorbis opengl openmp pam pcre pdf perl php png pppd python qt3 qt3support qt4 quicktime rdesktop readline reflection samba sdl session speex spl sqlite sqlite3 sse sse2 ssl subversion svg tcpd tetex theora threads tidy tiff truetype unicode usb vcd vhosts videos vorbis wmf wxwindows x264 xcomposite xine xinerama xml xorg xpm xv xvid yv12 zlib" ALSA_CARDS="emu10k1" 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" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en" LIRC_DEVICES="livedrive_midi" USERLAND="GNU" VIDEO_CARDS="vesa nv" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Created attachment 179033 [details, diff] Fix opengl.eselect to remove broken symlinks, too The old symlinks aren't deleted, because [[ -e dead_link ]] fails. The check isn't even necessary. 'rm -f' will happily ignore missing files, so just remove it.
Ping. Comments? :)
Sounds like a good approach to me. Hopefully someone will add it to the ebuild.
Fixed in SVN. I'm going to leave this bug open until it hits a release. Thanks for the patch!
"me too" on x86 this time. Manually applied the attached fix. Hoping this is released soon.
1.0.7 added to the main tree with this :]