Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 387707 - x11-drivers/nvidia-drivers-285.05.09 installs absolute symlinks
Summary: x11-drivers/nvidia-drivers-285.05.09 installs absolute symlinks
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-19 17:15 UTC by Ben Kohler
Modified: 2012-01-18 22:38 UTC (History)
9 users (show)

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


Attachments
build.log (build.log,34.02 KB, text/plain)
2011-10-19 17:22 UTC, Ben Kohler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Kohler gentoo-dev 2011-10-19 17:15:23 UTC
At least the last few versions of nvidia-drivers, including x11-drivers/nvidia-drivers-285.05.09, report broken symlinks when installed by portage-2.1.10.28.  These broken symlinks are reported by QA notices during emerge, and revdep-rebuild afterward.  Of course revdep-rebuild can't fix it when the broken link is in the affected package itself.

When installed by portage-2.1.10.27, all is well.

Reproducible: Always

Steps to Reproduce:
1. emerge =sys-apps/portage-2.1.10.28
2. emerge =x11-drivers/nvidia-drivers-285.05.09
3. revdep-rebuild
Actual Results:  
# 
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 26% ]  *   broken /usr/bin/nvidia-smi (requires libnvidia-ml.so.1)
[ 100% ]
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/bin/nvidia-smi -> x11-drivers/nvidia-drivers
 * Generated new 4_raw.rr and 4_owners.rr
 * Cleaning list of packages to rebuild
 * Generated new 4_pkgs.rr
 * Assigning packages to ebuilds
 * Generated new 4_ebuilds.rr
 * Evaluating package order
 * Generated new 5_order.rr
 * All prepared. Starting rebuild
emerge --complete-graph=y --oneshot  --pretend x11-drivers/nvidia-drivers:0

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] x11-drivers/nvidia-drivers-285.05.09
 * Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild

Expected Results:  
no breakage
Comment 1 Ben Kohler gentoo-dev 2011-10-19 17:22:14 UTC
Created attachment 290247 [details]
build.log

build.log from a successful emerge of x11-drivers/nvidia-drivers-285.05.09 on sys-apps/portage-2.1.10.28, with QA notices about broken links
Comment 2 Ben Kohler gentoo-dev 2011-10-19 17:37:00 UTC
After a bit more rebuilding & testing, I'm having trouble reproducing the exact behavior.  But *something* is going on with the way different portage versions handle the same ebuild version.
Comment 3 Chris Smith 2011-10-19 18:15:03 UTC
sys-apps/portage-2.2.0_alpha69 exhibits the same problem

here are the QA notices:

 * QA Notice: Found an absolute symlink in a library directory:
 *            usr/lib64/libnvcuvid.so -> /usr/lib64/libnvcuvid.so.285.05.09
 *            It should be a relative symlink if in the same directory
 *            or a linker script if it crosses the /usr boundary.

 * QA Notice: Found an absolute symlink in a library directory:
 *            usr/lib64/libnvidia-cfg.so -> /usr/lib64/libnvidia-cfg.so.285.05.09
 *            It should be a relative symlink if in the same directory
 *            or a linker script if it crosses the /usr boundary.

 * QA Notice: Found an absolute symlink in a library directory:
 *            usr/lib64/libnvidia-ml.so -> /usr/lib64/libnvidia-ml.so.285.05.09
 *            It should be a relative symlink if in the same directory
 *            or a linker script if it crosses the /usr boundary.
 * QA Notice: Missing soname symlink(s):
 * 
 *      usr/lib64/libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.285.05.09
 *      usr/lib64/libnvidia-cfg.so.1 -> libnvidia-cfg.so.285.05.09
 *      usr/lib64/libnvcuvid.so.1 -> libnvcuvid.so.285.05.09
 *      usr/lib64/libnvidia-ml.so.1 -> libnvidia-ml.so.285.05.09
 *
Comment 4 Zac Medico gentoo-dev 2011-10-19 20:34:00 UTC
It's probably a bug in the nvidia-drivers ebuild. The related portage changes are from bug 387053:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=d1499e9e3b08fd3e539f1b9a740d243bec67872c
Comment 5 Dmitry Suloev 2011-10-20 18:12:58 UTC
Same problem.
Comment 6 Chris Wells 2011-10-20 19:41:49 UTC
Same error here, tried both 275.09.07 and 285.05.09 drivers using Portage 2.2.0_alpha69_p6
Comment 7 Robert Cabrera 2011-10-21 13:32:26 UTC
There are definitely issues with this ebuild. I can confirm that on my ~amd64 laptop libnvidia-ml.so.1 is missing, causing nvidia-drivers to keep getting drawn into the rebuild cue when doing a revdep-rebuild.

The absolute symlink issue as shown here has been around for quite awhile and is an independent issue not related to the above bug which is new:
 
 "* QA Notice: Found an absolute symlink in a library directory:
 *            usr/lib64/libnvcuvid.so -> /usr/lib64/libnvcuvid.so.285.05.09
 *            It should be a relative symlink if in the same directory
 *            or a linker script if it crosses the /usr boundary.

 * QA Notice: Found an absolute symlink in a library directory:
 *            usr/lib64/libnvidia-cfg.so ->
/usr/lib64/libnvidia-cfg.so.285.05.09
 *            It should be a relative symlink if in the same directory
 *            or a linker script if it crosses the /usr boundary.

 * QA Notice: Found an absolute symlink in a library directory:
 *            usr/lib64/libnvidia-ml.so -> /usr/lib64/libnvidia-ml.so.285.05.09
 *            It should be a relative symlink if in the same directory
 *            or a linker script if it crosses the /usr boundary.
 * QA Notice: Missing soname symlink(s):
 * 
 *      usr/lib64/libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.285.05.09
 *      usr/lib64/libnvidia-cfg.so.1 -> libnvidia-cfg.so.285.05.09
 *      usr/lib64/libnvcuvid.so.1 -> libnvcuvid.so.285.05.09
 *      usr/lib64/libnvidia-ml.so.1 -> libnvidia-ml.so.285.05.09"
Comment 8 Doug Goldstein (RETIRED) gentoo-dev 2011-10-21 17:02:59 UTC
The .1 files don't actually belong. There were newer QA variables added in newer Portages so we'll have to upgrade all the ebuilds to now pass additional QA variables.
Comment 9 Zac Medico gentoo-dev 2011-10-21 17:28:53 UTC
(In reply to comment #3)
>  * QA Notice: Missing soname symlink(s):
>  * 
>  *      usr/lib64/libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.285.05.09
>  *      usr/lib64/libnvidia-cfg.so.1 -> libnvidia-cfg.so.285.05.09
>  *      usr/lib64/libnvcuvid.so.1 -> libnvcuvid.so.285.05.09
>  *      usr/lib64/libnvidia-ml.so.1 -> libnvidia-ml.so.285.05.09
>  *

Something like this should work with >=sys-apps/portage-2.1.10.28: 

QA_SONAME_NO_SYMLINK="
usr/lib64/libXvMCNVIDIA\\.so.*
usr/lib64/libnvidia-cfg\\.so.*
usr/lib64/libnvcuvid\\.so.*
usr/lib64/libnvidia-ml\\.so.*
"
Comment 10 Zac Medico gentoo-dev 2011-10-21 17:31:20 UTC
(In reply to comment #9)
> Something like this should work with >=sys-apps/portage-2.1.10.28: 
> 
> QA_SONAME_NO_SYMLINK="
> usr/lib64/libXvMCNVIDIA\\.so.*
> usr/lib64/libnvidia-cfg\\.so.*
> usr/lib64/libnvcuvid\\.so.*
> usr/lib64/libnvidia-ml\\.so.*
> "

Actually, make those usr/lib.*/ so that they work for all ABIs.
Comment 11 Zac Medico gentoo-dev 2011-10-21 17:36:02 UTC
(In reply to comment #7)
>  "* QA Notice: Found an absolute symlink in a library directory:
>  *            usr/lib64/libnvcuvid.so -> /usr/lib64/libnvcuvid.so.285.05.09

If necessary, we can add another QA_* variable for absolute symlinks. If that's what you want please file a separate bug for sys-apps/portage and explain the reason for absolute symlinks there.
Comment 12 Doug Goldstein (RETIRED) gentoo-dev 2011-10-27 20:23:58 UTC
Fixed 285.05.09-r1.
Comment 13 Ben Kohler gentoo-dev 2012-01-18 22:38:38 UTC
Not sure why this is still open, resolved in stable portage a while ago.