Description of problem: $rpm -ihv libgda-1.2.0-1.i386.rpm error: Failed dependencies: libgda-2.so.1 is needed by libgda-1.2.0-1.i386 Suggested resolutions: libgda-1.0.4-3.i386.rpm Version-Release number of selected component (if applicable): libgda-1.2.0-1 How reproducible: Steps to Reproduce: 1. $rpm -ihv libgda-1.2.0-1.i386.rpm 2. 3. Actual results: always Expected results: Additional info:
same here with yum # yum update libgda Setting up Update Process Setting up Repos dev 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files dev : ################################################## 3741/3741 Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package libgda.i386 1:1.2.0-1 set to be updated --> Running transaction check --> Processing Dependency: libgda-2.so.1 for package: libgnomedb --> Processing Dependency: libgda-2.so.1 for package: abiword --> Processing Dependency: libgda-2.so.1 for package: libgda --> Processing Dependency: libgda-2.so.1 for package: gnumeric --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Package abiword.i386 1:2.2.3-3 set to be updated ---> Package libgnomedb.i386 1:1.2.0-1 set to be updated ---> Package gnumeric.i386 1:1.4.2-2 set to be updated --> Running transaction check --> Processing Dependency: libgda-2.so.1 for package: libgda --> Finished Dependency Resolution Error: Missing Dependency: libgda-2.so.1 is needed by package libgda
There is a weird dependency listed libgda-1.2.0-1.i386. 'rpm -qR ...' for this package shows: .... libgda-2.so.1 libgda-2.so.3 ... but the package itself provides only libgda-2.so.3. Interestingly enough the same package compiled for x86_64 has only 'libgda-2.so.3()(64bit)' listed in dependencies so there is no obstacle there. To get past that I had to 'rpm -Fvh --nodeps libgda-1.2.0-1.i386.rpm' and then the rest installs fine. 'abiword', 'gnumeric' and 'libgnomedb' are currently updated and do need a new libgda.
The problem is that the package build rules are incorrect. The file libgda-report-2.so.3 is linked against the *installed* version of libgda-2.so, and not the *new* version. Thus, while you can force the package to install, you'll find /usr/lib/libgda-report-2.so.3: libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x6ff58000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x6ff33000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x6ff0f000) libdl.so.2 => /lib/libdl.so.2 (0x6feeb000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x6fe33000) libxslt.so.1 => /usr/lib/libxslt.so.1 (0x6fddc000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0x6fc9a000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x6fc66000) libz.so.1 => /usr/lib/libz.so.1 (0x6fc33000) libm.so.6 => /lib/tls/libm.so.6 (0x6fb9d000) libgda-2.so.1 => not found libc.so.6 => /lib/tls/libc.so.6 (0x6fa40000) /lib/ld.so.1 (0x08000000) Note the "not found" line. Simply rebuilding the package would "work", but would leave the build bug latent until the next time the version number gets bumped.
Oh, and this isn't i386 specific. I see the same problem with ppc.
I'll add a bandaid for now.
AutoReqProv: no?!? That breaks in that the package won't provide the lib sonames that it should.
It looks that that cure is worse then the disease. Error: Missing Dependency: libgda-2.so.3()(64bit) is needed by package abiword Error: Missing Dependency: libgda-2.so.3()(64bit) is needed by package gnumeric Error: Missing Dependency: libgda-2.so.3()(64bit) is needed by package libgnomedb while libgda-2.so.3 is clearly there. It this what Alexandre says in a somehwat cryptic way in comments #6 and #7? This time one needs 'rpm -Fvh --nodeps libgda*' everywhere. :-)