i was testing a package and its ability to work with different opengl providers when i noticed that it likes to blow up if you're sitting in a directory that no longer exists: root@vapier 0 ~ # mkdir blah root@vapier 0 ~ # cd blah root@vapier 0 blah # rm -r ~/blah root@vapier 0 blah # opengl-update nvidia shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory * Switching to nvidia OpenGL interface ... ln: creating symbolic link `./libGL.so' to `/usr/lib32/opengl/nvidia/lib/libGL.so': No such file or directory /usr/sbin/opengl-update: line 226: libGL.la: No such file or directory ln: creating symbolic link `./libGLcore.so' to `/usr/lib32/opengl/nvidia/lib/libGLcore.so': No such file or directory ln: creating symbolic link `./gl.h' to `/usr/lib32/opengl/xorg-x11/include/gl.h': No such file or directory ln: creating symbolic link `./glx.h' to `/usr/lib32/opengl/xorg-x11/include/glx.h': No such file or directory ln: creating symbolic link `./glxtokens.h' to `/usr/lib32/opengl/xorg-x11/include/glxtokens.h': No such file or directory ln: creating symbolic link `./glext.h' to `/usr/lib32/opengl/xorg-x11/include/glext.h': No such file or directory ln: creating symbolic link `./glxext.h' to `/usr/lib32/opengl/xorg-x11/include/glxext.h': No such file or directory ln: creating symbolic link `./glxmd.h' to `/usr/lib32/opengl/xorg-x11/include/glxmd.h': No such file or directory ln: creating symbolic link `./glxproto.h' to `/usr/lib32/opengl/xorg-x11/include/glxproto.h': No such file or directory ln: creating symbolic link `./libGL.so' to `/usr/lib/opengl/nvidia/lib/libGL.so': No such file or directory /usr/sbin/opengl-update: line 226: libGL.la: No such file or directory ln: creating symbolic link `./libGLcore.so' to `/usr/lib/opengl/nvidia/lib/libGLcore.so': No such file or directory ln: creating symbolic link `./libglx.so' to `/usr/lib/opengl/nvidia/extensions/libglx.so': No such file or directory ln: creating symbolic link `./gl.h' to `/usr/lib/opengl/nvidia/include/gl.h': No such file or directory ln: creating symbolic link `./glx.h' to `/usr/lib/opengl/nvidia/include/glx.h': No such file or directory ln: creating symbolic link `./glxtokens.h' to `/usr/lib/opengl/xorg-x11/include/glxtokens.h': No such file or directory ln: creating symbolic link `./glext.h' to `/usr/lib/opengl/global/include/glext.h': No such file or directory ln: creating symbolic link `./glxext.h' to `/usr/lib/opengl/global/include/glxext.h': No such file or directory ln: creating symbolic link `./glxmd.h' to `/usr/lib/opengl/xorg-x11/include/glxmd.h': No such file or directory ln: creating symbolic link `./glxproto.h' to `/usr/lib/opengl/xorg-x11/include/glxproto.h': No such file or directory shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory >>> Regenerating /etc/ld.so.cache... [ ok ]
to fix the situation, simply put this at the top of the script: cd / however, this does point out the fact that the script needs more error checking to make sure each ln / sed worked rather than just assume it did
Yeah, spose we could create some sort of dosym wrapper instead.
Is this fixed with the new eselect structure?
probably
Marking fixed w/ new eselect setup.