When emerging x11-drivers/nvidia-drivers the file /etc/env.d/03opengl is regenerated. No matter which version of nvidia-drivers I use, LDPATH looks always like this: LDPATH="//usr//lib/opengl/nvidia/lib" As you can see there are unnecessary slahes. As a consequence they appear also in /etc/ld.so.conf and in /etc/ld.so.cache. This is all a bit ugly and annoying. However, I could not track down where they come from. When executing eselect opengl set nvidia they disappear. When emerging nvidia-drivers another time, eselect is also executed another time and the unnecessary slashes are back again. Reproducible: Always Steps to Reproduce: 1. emerge nvidia-drivers 2. grep nvidia /etc/env.d/03opengl grep nvidia /etc/ld.so.conf emerge --info Portage 2.1.2-r9 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r5 i686) ================================================================= System uname: 2.6.19-gentoo-r5 i686 Intel(R) Celeron(R) CPU 2.40GHz Gentoo Base System release 1.12.9 Timestamp of tree: Tue, 27 Feb 2007 03:00:01 +0000 ccache version 2.4 [enabled] 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 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.20-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -fgcse-after-reload" 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=pentium4 -O2 -pipe -fomit-frame-pointer -fgcse-after-reload" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch prelink sandbox sfperms strict" GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ " LANG="de_DE@euro" LC_ALL="de_DE@euro" LDFLAGS="-Wl,-O1 -Wl,-z,now " LINGUAS="de" MAKEOPTS="-j2" 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 aac aalib accessibility acpi afs aiglx akode alsa apache2 apm arts asf avi bash-completion berkdb bitmap-fonts bittorrent branding cairo ccache cdparanoia cdr cdrom cli cpudetection cracklib crypt cups dbus directfb dri dvd dvdr dvdread emboss encode esd fam fbcon ffmpeg firefox flac foomaticdb gaim gdbm gif gimp gimpprint glitz gpm gstreamer gtk gtk2 hal iconv icq jack java java5 javascript jikes jpeg kde kdeenablefinal kdm lame ldap libwww lm_sensors logrotate mad midi mikmod mmx mmxext mng mozbranding mozsvg mp3 mpeg mpeg2 mplayer ncurses nls no-seamonkey nodrm nptl nptlonly nsplugin nvidia ogg opengl oss pam pcre pdf pdflib perl png povray ppds pppd ps python qt3 qt3support qt4 quicktime readline realmedia reflection reiser4 reiserfs scanner sdl sensord session sndfile sound sounds spell spl sse sse2 ssl svg svga svgz tcpd theora tiff truetype truetype-fonts type1-fonts unicode upnp usb vorbis win32codecs wma wmf wmp x86 xine xml xorg xscreensaver xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="i810 nv nvidia vesa vga" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS
This is a pure cosmetic problem. If I find out or if somebody points me to it, i'll fix it.
I took a closer look on opengl.eselect now. The two additional slashes have two different sources. The first one is generated in line 21: PREFIX="${ROOT}/usr" ROOT is set to / when emerge is running. This is not the case when running eselect as standalone application. (Um, this is not really consistent, is it?) I am not sure about what a clean fix would be. Maybe it should be checked, whether $ROOT is set or not, and in the latter case it would be set to /? the second slash comes from line 123: [[ ${ROOT} != / ]] && libdir=${libdir//${ROOT}} and line: 220 ldpath="${ldpath:+${ldpath}:}${PREFIX}/${libdir}/opengl/${gl_local}/lib" list_libdirs returns libdirs prefixed with the single / from $ROOT. (I think list_libdirs should be reviewed anyway, see bug #203201) Now because ${ROOT} = / the preceding slash is not being removed. This could probably be ok, if list_libdirs would always return leading slashes (unfortunately it does not). But on line 220, another slash is added between $PREFIX and $libdir. I would drop the slash in line 220. Of course, not before list_libdirs has been fixed. btw: I think in any case in line 123 libdir=${libdir//${ROOT}} should be replaced at least with libdir=${libdir/${ROOT}}, because $ROOT is only a prefix, if it appears more than once in $libdir this could have unwanted effects.
Reassigning to herd since eradicator has left Gentoo.
I'll apply patches anyone is able to cook up to fix the "issue" (which really isn't one...). Closing INVALID because I can't close the bug PATCHESWELCOME. Feel free to reopen once a proper patch can be applied to eselect-opengl. Thanks
> Closing INVALID because I can't close the bug PATCHESWELCOME. The mentioned lines have all been modified, the problem does not appear any more. Neither with ROOT="" eselect ... nor with ROOT="/" eselect .... Therefore I change this from INVALID to FIXED, as there is no more use for any patches changing this behaviour.(In reply to comment #4)