Bug 457662

Summary: f-spot fails to start due to broken dependencies
Product: [Fedora] Fedora Reporter: morgan read <mstuff>
Component: f-spotAssignee: Nigel Jones <dev>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: 8CC: jlayton, karl.kolsto
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-09 06:42:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description morgan read 2008-08-03 03:49:55 UTC
Description of problem:
~]$ f-spot

** (/usr/lib/f-spot/f-spot.exe:4938): WARNING **: The following assembly referenced from /usr/lib/f-spot/f-spot.exe could not be loaded:
     Assembly:   NDesk.DBus    (assemblyref_index=9)
     Version:    1.0.0.0
     Public Key: f6716e4f9b2ed099
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/usr/lib/f-spot).


** (/usr/lib/f-spot/f-spot.exe:4938): WARNING **: Could not load file or assembly 'NDesk.DBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099' or one of its dependencies.

Unhandled Exception: System.TypeLoadException: A type load exception has occurred.


Version-Release number of selected component (if applicable):
~]$ rpm -q f-spot
f-spot-0.4.3.1-1.fc8

How reproducible:
Always

Steps to Reproduce:
1. Run f-spot
2.
3.
  
Actual results:
Fails as above per Description

Expected results:
Doesn't fail

Additional info:

Comment 1 Nigel Jones 2008-08-03 04:39:32 UTC
(In reply to comment #0)
> Description of problem:
> ~]$ f-spot
> 
> ** (/usr/lib/f-spot/f-spot.exe:4938): WARNING **: The following assembly
> referenced from /usr/lib/f-spot/f-spot.exe could not be loaded:
>      Assembly:   NDesk.DBus    (assemblyref_index=9)
>      Version:    1.0.0.0
>      Public Key: f6716e4f9b2ed099
> The assembly was not found in the Global Assembly Cache, a path listed in the
> MONO_PATH environment variable, or in the location of the executing assembly
> (/usr/lib/f-spot).

Thanks, seem to recall that I've had a report of another similar error (but that one was for F-9 from memory), I'll take a look at DBus packages later today and see if I can work out what's going on.

Comment 2 Jeff Layton 2008-08-08 17:02:03 UTC
I hit the same bug and was able to get past it by installing the ndesk-dbus and ndesk-dbus-glib packages. It looks like this may just be a problem of borked package dependencies.

Comment 3 morgan read 2008-08-08 23:13:16 UTC
Yup, that seems to work:

~]$ f-spot
Initializing Mono.Addins
WARNING: The add-in 'FSpot.__DefaultExporters,1.6' is trying to extend '/FSpot/Menus/Exports', but there isn't any compatible add-in defining this extension point
Unregistering http://addins.f-spot.org/main.mrep
Starting new FSpot server
Updating F-Spot Database
Updated database from version 6 to 7
Updated database from version 7 to 8
Updated database from version 8 to 9
Updated database from version 9 to 10
Updated database from version 10 to 11
Updated database from version 11 to 12
Updated database from version 12 to 13
Updated database from version 13 to 14
Database updates completed successfully.
Query: SELECT photos.id, photos.time, photos.uri, photos.description, photos.roll_id, photos.default_version_id, photos.rating FROM photos  WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY photos.time
Query: SELECT photos.id, photos.time, photos.uri, photos.description, photos.roll_id, photos.default_version_id, photos.rating FROM photos  WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY photos.time
Query: SELECT photos.id, photos.time, photos.uri, photos.description, photos.roll_id, photos.default_version_id, photos.rating FROM photos  WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY photos.time
Reloading
Query: SELECT photos.id, photos.time, photos.uri, photos.description, photos.roll_id, photos.default_version_id, photos.rating FROM photos  WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY photos.time
item changed
open uri = file:///home/morgan/Pictures/2006-12-23/DSC00830.JPG
open uri = file:///home/morgan/Pictures/2006-12-23/DSC00830.JPG

(f-spot:11844): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference.
open uri = file:///home/morgan/Pictures/2006-12-23/DSC00830.JPG
open uri = file:///home/morgan/Pictures/2006-12-23/DSC00830.JPG
open uri = file:///home/morgan/Pictures/2006-12-23/DSC00831.JPG

...

open uri = file:///home/morgan/Pictures/2006-12-23/DSC00830.JPG
open uri = file:///home/morgan/Pictures/2006-12-23/DSC00830.JPG
open uri = file:///home/morgan/Pictures/2006-12-23/DSC00850.JPG
[morgan@morgansmachine ~]$

Comment 4 Nigel Jones 2008-08-09 00:21:10 UTC
Argh, I wonder why they aren't getting depended on, I'll take a look later today and try and get new packages ready.

Thanks!

Comment 5 Nigel Jones 2008-08-10 12:10:03 UTC
Okay, this is turning complex.

Do you have banshee or muine installed?  Also, do you remember installing either?

Comment 6 morgan read 2008-08-11 10:28:53 UTC
[morgan@morgansmachine ~]$ rpm -q banshee
package banshee is not installed
[morgan@morgansmachine ~]$ rpm -q muine
muine-0.8.8-3.fc8
[morgan@morgansmachine ~]$ 

And from my logs:
Aug 02 16:55:15 Installed: muine - 0.8.8-3.fc8.i386

Looks like it was installed as a dependency of something else.

(fyi: Aug 02 17:02:37 Updated: f-spot - 0.4.3.1-1.fc8.i386)

Comment 7 Nigel Jones 2008-08-11 10:43:04 UTC
(In reply to comment #6)
> And from my logs:
> Aug 02 16:55:15 Installed: muine - 0.8.8-3.fc8.i386
> 
> Looks like it was installed as a dependency of something else.
> 
> (fyi: Aug 02 17:02:37 Updated: f-spot - 0.4.3.1-1.fc8.i386)

Thanks heaps for that.

I'll provide a little run down on whats happened:

When a maintainer builds a package (lets say f-spot), rpm will work out (via a bunch of scripts) what the package should depend on, as well as what it provides, all done automatically without maintainer intervention.

The problem is, that when banshee and muine got built, RPM decided that they required "mono(NDesk.DBus)" and "mono(NDesk.DBus.GLib)" which is correct, except for the fact it also somehow worked out that it provided both features.  YUM decided somehow that muine satisfied those dependencies better than anything else, and decided to install that.

Thanks for pointing it out, and it'd be 100% safe to remove muine if you don't use it.

Comment 8 morgan read 2008-08-16 10:57:57 UTC
Hmmm

I tried to remove muine and this is what I got:

[root@morgansoldmachine ~]# yum remove muine
Loading "changelog" plugin
Loading "presto" plugin
Loading "protect-packages" plugin
Loading "fastestmirror" plugin
Setting up Remove Process
Setting up and reading Presto delta metadata
No Presto metadata available for adobe
No Presto metadata available for fedora
No Presto metadata available for livna
No Presto metadata available for idmcommon-noarch
No Presto metadata available for dirsrv-noarch
No Presto metadata available for idmcommon
No Presto metadata available for dirsrv
No Presto metadata available for updates
No Presto metadata available for dribble
Loading mirror speeds from cached hostfile
 * adobe: linuxdownload.adobe.com
 * fedora: mirror.pacific.net.au
 * livna: rpm.livna.org
 * idmcommon-noarch: directory.fedoraproject.org
 * dirsrv-noarch: directory.fedoraproject.org
 * idmcommon: directory.fedoraproject.org
 * dirsrv: directory.fedoraproject.org
 * updates: mirror.pacific.net.au
 * dribble: dribble.org.uk
Resolving Dependencies
--> Running transaction check
---> Package muine.i386 0:0.8.8-3.fc8 set to be erased
--> Processing Dependency: mono(NDesk.DBus) = 1.0.0.0 for package: f-spot
--> Processing Dependency: mono(NDesk.DBus.GLib) = 1.0.0.0 for package: f-spot
--> Running transaction check
---> Package f-spot.i386 0:0.4.3.1-1.fc8 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Removing:
 muine                   i386       0.8.8-3.fc8      installed         1.2 M
Removing for dependencies:
 f-spot                  i386       0.4.3.1-1.fc8    installed         7.5 M

Transaction Summary
=============================================================================
Install      0 Package(s)         
Update       0 Package(s)         
Remove       2 Package(s)         

Is this ok [y/N]: 

...

I chose N...

Comment 9 morgan read 2008-08-16 11:45:24 UTC
Oh, I see - that was my second machine - ndesk-dbus and
ndesk-dbus-glib need installing first, obviously...

...
=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Removing:
 muine                   i386       0.8.8-3.fc8      installed         1.2 M

Transaction Summary
=============================================================================
Install      0 Package(s)         
Update       0 Package(s)         
Remove       1 Package(s)         

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing   : muine                        ######################### [1/1] 

Removed: muine.i386 0:0.8.8-3.fc8
Complete!
[root@morgansoldmachine ~]#

Comment 10 Karl Magnus Kolstø 2008-11-11 09:18:50 UTC
f-spot still doesn't work "out of the box", as described above. At least not on Fedora 8. (I haven't tried on newer.)
Given we have several hundred machines and some people trying to use it, it would obviously be nice if it Just Worked. Preferably without having to resort to workarounds, as you probably can imagine, but the ndesk-dbus{,-glib} trick seems to make it work.

Thanks
-- 
Karl Magnus

Comment 11 Bug Zapper 2008-11-26 11:04:02 UTC
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '8'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 8's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 8 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 12 Bug Zapper 2009-01-09 06:42:31 UTC
Fedora 8 changed to end-of-life (EOL) status on 2009-01-07. Fedora 8 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.