Bug 1708

Summary: Cg-docs provides libGL.so.1 & other libs, breaking Fedora updates
Product: Fedora Reporter: Chris Schanzle <bugzilla>
Component: CgAssignee: Nicolas Chauvet <kwizart>
Status: RESOLVED FIXED    
Severity: normal CC: nucleo
Priority: P5    
Version: 14   
Hardware: All   
OS: GNU/Linux   
namespace:

Description Chris Schanzle 2011-04-20 18:36:12 CEST
[Sorry, looks like this has been fixed in Cg-3.0.0016-1.fc14.src.rpm but I didn't discover that until the end.  Felt the repair procedure would be helpful to existing installs.  Feel free to close.]

Similar to http://www.fedoraforum.org/forum/showthread.php?p=1460989 , I'm getting from yum update:

Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
libGL.so.1 is needed by (installed) mesa-libGLU-7.9-5.fc14.i686
libGL.so.1 is needed by (installed) AdobeReader_enu-9.4.2-1.i486
Please report this error in http://yum.baseurl.org/report
 You could try running: rpm -Va --nofiles --nodigest

The problem is that rpm thinks that Cg-docs is providing libraries:

# rpm -q --whatprovides libGL.so.1
Cg-docs-3.0.0015-1.fc14.i686

# rpm -ql Cg-docs|egrep /lib
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libCg.so
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libCgGL.so
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libGL.so.1
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libglut.so.3
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libtrace.so
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libCg.so
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libCgGL.so
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libGL.so.1
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libglut.so.3
/usr/share/doc/Cg-docs-3.0.0015/examples/Tools/trace/libtrace.so

Here's the major problem!  Other packages think those library dependencies are already installed, but they cannot access them due to their non-standard location.

Not to mention that a -docs subpackage shouldn't be providing libraries.


Cleanup is a mess, as attempting to remove Cg-docs removes things that depend on those libraries:

Removing:
 Cg-docs        i686   3.0.0015-1.fc14            @rpmfusion-nonfree-updates  36 M
 Cg-docs        x86_64 3.0.0015-1.fc14            @rpmfusion-nonfree-updates  37 M
Removing for dependencies:
 AdobeReader_enu
                i486   9.4.2-1                    @mcsd                      144 M
 libcaca        x86_64 0.99-0.10.beta17.fc14      @fedora                    847 k
 mesa-libGLU    i686   7.9-5.fc14                 @updates                   408 k
 mplayer        x86_64 1.0-0.119.20100703svn.fc14 @rpmfusion-free            8.6 M
 mplayer-gui    x86_64 1.0-0.119.20100703svn.fc14 @rpmfusion-free            8.8 M
 mplayer-tools  x86_64 1.0-0.119.20100703svn.fc14 @rpmfusion-free             43 k
 xine-ui        x86_64 0.99.6-25.fc14             @fedora                    2.3 M
 xmms-mplayer   x86_64 0.5-2.fc11                 @rpmfusion-free             53 k


What I find works reasonably well is to use the following procedure:

1.  yum check   # verify it has no error output.  fix if it does.

2.  rpm -e --nodeps Cg-docs.{i686,x86_64}

3.  yum check   # your output may vary based on your installed pkgs
AdobeReader_enu-9.4.2-1.i486 has missing requires of libGL.so.1
libcaca-0.99-0.10.beta17.fc14.x86_64 has missing requires of libglut.so.3()(64bit)
mesa-libGLU-7.9-5.fc14.i686 has missing requires of libGL.so.1
Error: check all

4.  For each of the above that is missing a unique library, reinstall it to re-find and install the proper dependencies:
# yum reinstall libcaca mesa-libGLU
Reinstalling:
 libcaca               x86_64      0.99-0.10.beta17.fc14        fedora       215 k
 mesa-libGLU           i686        7.9-5.fc14                   updates      186 k
 mesa-libGLU           x86_64      7.9-5.fc14                   updates      175 k
Installing for dependencies:
 freeglut              x86_64      2.6.0-5.fc14                 fedora       172 k
 libXxf86vm            i686        1.1.0-1.fc13                 fedora        18 k
 libdrm                i686        2.4.22-1.fc14                fedora        69 k
 libtalloc             i686        2.0.1-1.fc13                 fedora        18 k
 mesa-dri-drivers      i686        7.9-5.fc14                   updates       12 M
 mesa-libGL            i686        7.9-5.fc14                   updates      163 k


5.  yum check  # verify no errors.


Footnote: This appears to be fixed:

yumdownloader Cg-docs-3.0.0016-1.fc14
rpm -qlp Cg-docs-3.0.0016-1.fc14.x86_64.rpm |egrep /lib
Comment 1 Nicolas Chauvet 2011-05-01 16:59:03 CEST
Indeed, this was fixed by the 3.0.0016 update.

Can you tell us why you are still affected by the problem, and what is the output of a yum update --verbose ?
I expect it only affects i686 packages on x86_64 OS.

You should be abble to yum install mesa-libGL.i686 freeglut.i686 and yum update Cg-docs


Comment 2 Chris Schanzle 2011-05-03 14:50:34 CEST
I was affected because I was just recently updating to the newer Cg but rpm thought that other packages depended on it, since Cg-docs was providing the needed libraries (even though they were not actually the ones used).

Sorry, all systems that had the problem I applied the fix, so I can't easily get you old state data.

Glad you fixed it - but transitioning forward was non-obvious.

Thanks!
Comment 3 nucleo 2012-06-12 23:52:41 CEST
This problem again appeared in Cg-docs-3.1.0013.
Comment 4 nucleo 2012-06-12 23:57:42 CEST
I mean in Cg-docs-3.1.0013-1.fc17.i686 from rpmfusion-nonfree-updates-testing.