Running nvidia-glx-1.0.5336-r2 (needed because of kernel 2.6.7) on x86 the new opengl-update-1.7.1 hangs when typing opengl-update nvidia. ps uax reveals a not terminating 'sed' call, the one in line 166: sed -i 's:/usr/lib/opengl/[^/]*/lib/libGL.la:/usr/lib/libGL.la:' \ This has been introduced in opengl-update-1.7 to fix bug #48297. Downgrade to opengl-update-1.5 resolves the problem. Let me know if you need further information. Reproducible: Always Steps to Reproduce: 1.type opengl-update nvidia 2. 3. Actual Results: shell hangs Expected Results: terminate :-) Portage 2.0.50-r8 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-gentoo-r6) ================================================================= System uname: 2.6.7-gentoo-r6 i686 Intel(R) Pentium(R) M processor 1700MHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="rsync://203.16.234.19/gentoo/ ftp://203.16.234.20/pub/gentoo/ ftp://mirror.pacific.net.au/linux/Gentoo http://mirror.pacific.net.au/linux/Gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X Xaw3d acpi alsa arts atlas avi berkdb cdr crypt cups doc dvd dvdr emacs encode esd foomaticdb gdbm gif gphoto2 gpm gtk gtk2 imagemagick imlib java jpeg kde lcms libg++ libwww lirc mad mikmod mmx motif mozilla mpeg mysql ncurses nls odbc oggvorbis opengl pam pdflib perl png python qt quicktime readline samba scanner sdl slang spell sse ssl svga tcltk tcpd tetex tiff truetype usb wmf x86 xml xml2 xmms xv zlib"
Andrew, can you confirm?
msterret suggests it's from a lack of things returning from the grep. I'm tempted to agree, based on experiments.
root@asteroid andrew # time opengl-update nvidia * Switching to nvidia OpenGL interface... [ ok ] real 0m0.538s user 0m0.407s sys 0m0.083s root@asteroid andrew # root@asteroid andrew # opengl-update xorg-x11 * Switching to xorg-x11 OpenGL interface... [ ok ] root@asteroid andrew # time opengl-update nvidia * Switching to nvidia OpenGL interface... [ ok ] real 0m0.521s user 0m0.401s sys 0m0.084s root@asteroid andrew # Nope i cant confirm that. I am using opengl-update-1.7.1
Andrew: try this change: from: sed -i 's:/usr/lib/opengl/[^/]*/lib/libGL.la:/usr/lib/libGL.la:' \ `grep -l /usr/lib/opengl *.la` to: if [ "`grep -l /usr/lib/opengl *.la`" ] then sed -i 's:/usr/lib/opengl/[^/]*/lib/libGL.la:/usr/lib/libGL.la:' \ `grep -l /usr/lib/opengl *.la` fi
Aaah, thanks for the hint. Indeed, grep -l /usr/lib/opengl *.la reports no hits in my /usr/lib and this is why sed waits in vain ... This would be triggered every time one tries to switch to an opengl implementation which is already active, then. The "patch" in comment #4 solves the problem. Thanks.
Fixed in 1.7.2.