Bug 13079

Summary: NVIDIA proprietary X.Org driver is unusable (are symlinks removed during rpmbuild process?)
Product: Mageia Reporter: Davy Defaud <davy.defaud>
Component: RPM PackagesAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED INVALID QA Contact:
Severity: critical    
Priority: Normal CC: anssi.hannula, laidlaws, tmb
Version: 4   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: nvidia304-304.119-1.mga4.nonfree.src.rpm CVE:
Status comment:

Description Davy Defaud 2014-03-24 01:43:08 CET
It seems that all symlinks of the package in regular paths to the nvidia prefixed directories (nvidia304 for instance) are missing. So shared libraries and binary executables are not found in their paths and there's no visible NVidia desktop file.

rpm -ql x11-driver-video-nvidia304-304.119-1.mga4.nonfree
/etc/OpenCL
/etc/OpenCL/vendors
/etc/OpenCL/vendors/nvidia.icd
/etc/X11/xinit.d/nvidia-settings.xinit
/etc/ld.so.conf.d/GL.conf
/etc/modprobe.d/display-driver.conf
/etc/nvidia304
/etc/nvidia304/XvMCConfig
/etc/nvidia304/ld.so.conf
/etc/nvidia304/modprobe.conf
/etc/nvidia304/nvidia-settings.xinit
/etc/nvidia304/nvidia.icd
/usr/bin/nvidia-bug-report.sh
/usr/bin/nvidia-debugdump
/usr/bin/nvidia-settings
/usr/bin/nvidia-smi
/usr/bin/nvidia-xconfig
/usr/lib/nvidia304
/usr/lib/nvidia304/libGL.so.1
/usr/lib/nvidia304/libGL.so.304.119
/usr/lib/nvidia304/libnvidia-glcore.so.304.119
/usr/lib/nvidia304/libnvidia-ml.so.1
/usr/lib/nvidia304/libnvidia-ml.so.304.119
/usr/lib/nvidia304/libnvidia-tls.so.304.119
/usr/lib/nvidia304/libvdpau_nvidia.so
/usr/lib/nvidia304/tls
/usr/lib/nvidia304/tls/libnvidia-tls.so.304.119
/usr/lib/nvidia304/vdpau
/usr/lib/nvidia304/vdpau/libvdpau_nvidia.so.304.119
/usr/lib/vdpau
/usr/lib/vdpau/libvdpau_nvidia.so.1
/usr/lib64/nvidia304
/usr/lib64/nvidia304/bin
/usr/lib64/nvidia304/bin/nvidia-bug-report.sh
/usr/lib64/nvidia304/bin/nvidia-debugdump
/usr/lib64/nvidia304/bin/nvidia-settings
/usr/lib64/nvidia304/bin/nvidia-smi
/usr/lib64/nvidia304/bin/nvidia-xconfig
/usr/lib64/nvidia304/libGL.so.1
/usr/lib64/nvidia304/libGL.so.304.119
/usr/lib64/nvidia304/libXvMCNVIDIA.so.304.119
/usr/lib64/nvidia304/libXvMCNVIDIA_dynamic.so.1
/usr/lib64/nvidia304/libnvidia-cfg.so.1
/usr/lib64/nvidia304/libnvidia-cfg.so.304.119
/usr/lib64/nvidia304/libnvidia-glcore.so.304.119
/usr/lib64/nvidia304/libnvidia-ml.so.1
/usr/lib64/nvidia304/libnvidia-ml.so.304.119
/usr/lib64/nvidia304/libnvidia-tls.so.304.119
/usr/lib64/nvidia304/libvdpau_nvidia.so
/usr/lib64/nvidia304/tls
/usr/lib64/nvidia304/tls/libnvidia-tls.so.304.119
/usr/lib64/nvidia304/vdpau
/usr/lib64/nvidia304/vdpau/libvdpau_nvidia.so.304.119
/usr/lib64/nvidia304/xorg
/usr/lib64/nvidia304/xorg/libglx.so
/usr/lib64/nvidia304/xorg/libglx.so.304.119
/usr/lib64/nvidia304/xorg/libnvidia-wfb.so.1
/usr/lib64/nvidia304/xorg/libnvidia-wfb.so.304.119
/usr/lib64/nvidia304/xorg/nvidia_drv.so
/usr/lib64/vdpau/libvdpau_nvidia.so.1
/usr/share/applications/mageia-nvidia-settings.desktop
/usr/share/doc/x11-driver-video-nvidia304
/usr/share/doc/x11-driver-video-nvidia304/LICENSE
/usr/share/doc/x11-driver-video-nvidia304/NVIDIA_Changelog
/usr/share/doc/x11-driver-video-nvidia304/README.install.urpmi
/usr/share/doc/x11-driver-video-nvidia304/README.manual-setup
/usr/share/doc/x11-driver-video-nvidia304/README.txt
/usr/share/icons/hicolor/16x16/apps/nvidia304-settings.png
/usr/share/icons/hicolor/32x32/apps/nvidia304-settings.png
/usr/share/icons/hicolor/48x48/apps/nvidia304-settings.png
/usr/share/man/man1/alt-nvidia304-settings.1.xz
/usr/share/man/man1/alt-nvidia304-smi.1.xz
/usr/share/man/man1/alt-nvidia304-xconfig.1.xz
/usr/share/man/man1/nvidia-settings.1.xz
/usr/share/man/man1/nvidia-smi.1.xz
/usr/share/man/man1/nvidia-xconfig.1.xz
/usr/share/nvidia304
/usr/share/nvidia304/mageia-nvidia-settings.desktop

ls -l /usr/bin/nvidia-xconfig
ls: cannot access /usr/bin/nvidia-xconfig: No such file or directory

Shouldn't this "file" be a symlink to /usr/lib64/nvidia304/bin/nvidia-xconfig?

How is it possible that the RPM package is supposed to provide /usr/bin/nvidia-xconfig despite there's no such file/symlink? Shouldn't rpmlint prevent such cases?

Reproducible: 

Steps to Reproduce:
Davy Defaud 2014-03-24 01:44:00 CET

Summary: NVIDIA proprietary X.Org driver is unusable (symlinks are removed during rpmbuild process?) => NVIDIA proprietary X.Org driver is unusable (are symlinks removed during rpmbuild process?)

Comment 1 Doug Laidlaw 2014-05-22 21:20:18 CEST
Have you at last found the solution to the bug that has been around since Mga 3?

CC: (none) => laidlaws

Comment 2 claire robinson 2014-05-25 00:22:02 CEST
Adding some CC's

CC: (none) => anssi.hannula, tmb

Comment 3 Thomas Backlund 2014-05-25 11:59:50 CEST

We handle the symlinks thorugh update-alternatives as:

x11-driver-video-nvidia-current
x11-driver-video-nvidia304
x11-driver-video-nvidia173

all need to provide the symlinks, so the files showing up in rpm file list are marked %ghost

You need to configure the driver through XFdrake (MCC -> Hardware -> Setup graphical server) so it will trigger all the needed configuration changes.

If you insist on doing stuff manually, read /usr/share/doc/x11-driver-video-nvidia304/README.manual-setup

Status: NEW => RESOLVED
Resolution: (none) => INVALID