Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 228547 - app-admin/eselect-opengl fails to switch from unmerged nvidia to xorg-x11
Summary: app-admin/eselect-opengl fails to switch from unmerged nvidia to xorg-x11
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: X11 External Driver Maintainers
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2008-06-20 14:28 UTC by Trevor Bowen
Modified: 2009-06-23 14:25 UTC (History)
6 users (show)

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


Attachments
Fix opengl.eselect to remove broken symlinks, too (opengl.eselect.patch,1.01 KB, patch)
2009-01-19 20:53 UTC, Maximilian Grothusmann
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Trevor Bowen 2008-06-20 14:28:47 UTC
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
Comment 1 Trevor Bowen 2008-06-20 15:12:57 UTC
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!
Comment 2 Trevor Bowen 2008-06-20 15:14:29 UTC
sorry, the other broken lib was:

/usr/lib64/xorg/modules/extensions/libwfb.so -> /usr/lib64/opengl/nvidia/extensions/libwfb.so
Comment 3 Allen Brooker (AllenJB) 2008-07-19 10:22:55 UTC
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
Comment 4 Maximilian Grothusmann 2009-01-19 20:53:52 UTC
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.
Comment 5 Maximilian Grothusmann 2009-02-23 14:54:48 UTC
Ping. Comments? :)
Comment 6 Trevor Bowen 2009-02-23 15:02:59 UTC
Sounds like a good approach to me.  Hopefully someone will add it to the ebuild.
Comment 7 Thomas Anderson (tanderson) (RETIRED) gentoo-dev 2009-04-19 11:44:29 UTC
Fixed in SVN. I'm going to leave this bug open until it hits a release. Thanks for the patch!
Comment 8 Todd Wright 2009-06-04 16:17:29 UTC
"me too" on x86 this time.
Manually applied the attached fix.
Hoping this is released soon.
Comment 9 Tomáš Chvátal (RETIRED) gentoo-dev 2009-06-23 14:25:59 UTC
1.0.7 added to the main tree with this :]