GNOME Bugzilla – Bug 559773
Banshee doesn't find dlls on FreeBSD
Last modified: 2009-08-22 19:26:23 UTC
Steps to reproduce: 1. Compile Banshee 1.4.0 on FreeBSD 2. Run banshee-1 3. Check the output Stack trace: Other information:
Created attachment 122190 [details] [review] Fix dll mapping Fixes the following dll mapping issues I've encountered: [Info 17:49:03.974] Running Banshee 1.4.0 System.DllNotFoundException: libglib-2.0-0.dll at (wrapper managed-to-native) Banshee.Base.Localization:g_get_language_names () at Banshee.Base.Localization.GetLanguageNames () [0x00000] at Banshee.Base.Localization.get_Languages () [0x00000] at Banshee.Base.Localization.get_XmlLanguages () [0x00000] at Banshee.Base.Localization.SelectSingleNode (System.Xml.XmlNode parent, System.String query) [0x00000] at Banshee.MediaProfiles.Profile..ctor (Banshee.MediaProfiles.MediaProfileManager manager, System.Xml.XmlNode node) [0x00000] at Banshee.MediaProfiles.MediaProfileManager.LoadProfiles (System.Xml.XmlNode node) [0x00000] System.DllNotFoundException: libglib-2.0-0.dll at (wrapper managed-to-native) Banshee.Base.Localization:g_get_language_names () at Banshee.Base.Localization.GetLanguageNames () [0x00000] at Banshee.Base.Localization.get_Languages () [0x00000] at Banshee.Base.Localization.get_XmlLanguages () [0x00000] at Banshee.Base.Localization.SelectSingleNode (System.Xml.XmlNode parent, System.String query) [0x00000] at Banshee.MediaProfiles.Profile..ctor (Banshee.MediaProfiles.MediaProfileManager manager, System.Xml.XmlNode node) [0x00000] at Banshee.MediaProfiles.MediaProfileManager.LoadProfiles (System.Xml.XmlNode node) [0x00000] System.DllNotFoundException: libglib-2.0-0.dll at (wrapper managed-to-native) Banshee.Base.Localization:g_get_language_names () at Banshee.Base.Localization.GetLanguageNames () [0x00000] at Banshee.Base.Localization.get_Languages () [0x00000] at Banshee.Base.Localization.get_XmlLanguages () [0x00000] at Banshee.Base.Localization.SelectSingleNode (System.Xml.XmlNode parent, System.String query) [0x00000] at Banshee.MediaProfiles.Profile..ctor (Banshee.MediaProfiles.MediaProfileManager manager, System.Xml.XmlNode node) [0x00000] at Banshee.MediaProfiles.MediaProfileManager.LoadProfiles (System.Xml.XmlNode node) [0x00000] System.DllNotFoundException: libglib-2.0-0.dll at (wrapper managed-to-native) Banshee.Base.Localization:g_get_language_names () at Banshee.Base.Localization.GetLanguageNames () [0x00000] at Banshee.Base.Localization.get_Languages () [0x00000] at Banshee.Base.Localization.get_XmlLanguages () [0x00000] at Banshee.Base.Localization.SelectSingleNode (System.Xml.XmlNode parent, System.String query) [0x00000] at Banshee.MediaProfiles.Profile..ctor (Banshee.MediaProfiles.MediaProfileManager manager, System.Xml.XmlNode node) [0x00000] at Banshee.MediaProfiles.MediaProfileManager.LoadProfiles (System.Xml.XmlNode node) [0x00000] System.DllNotFoundException: libglib-2.0-0.dll at (wrapper managed-to-native) Banshee.Base.Localization:g_get_language_names () at Banshee.Base.Localization.GetLanguageNames () [0x00000] at Banshee.Base.Localization.get_Languages () [0x00000] at Banshee.Base.Localization.get_XmlLanguages () [0x00000] at Banshee.Base.Localization.SelectSingleNode (System.Xml.XmlNode parent, System.String query) [0x00000] at Banshee.MediaProfiles.Profile..ctor (Banshee.MediaProfiles.MediaProfileManager manager, System.Xml.XmlNode node) [0x00000] at Banshee.MediaProfiles.MediaProfileManager.LoadProfiles (System.Xml.XmlNode node) [0x00000] System.DllNotFoundException: libglib-2.0-0.dll at (wrapper managed-to-native) Banshee.Base.Localization:g_get_language_names () at Banshee.Base.Localization.GetLanguageNames () [0x00000] at Banshee.Base.Localization.get_Languages () [0x00000] at Banshee.Base.Localization.get_XmlLanguages () [0x00000] at Banshee.Base.Localization.SelectSingleNode (System.Xml.XmlNode parent, System.String query) [0x00000] at Banshee.MediaProfiles.Profile..ctor (Banshee.MediaProfiles.MediaProfileManager manager, System.Xml.XmlNode node) [0x00000] at Banshee.MediaProfiles.MediaProfileManager.LoadProfiles (System.Xml.XmlNode node) [0x00000] System.DllNotFoundException: libglib-2.0-0.dll at (wrapper managed-to-native) Banshee.Base.Localization:g_get_language_names () at Banshee.Base.Localization.GetLanguageNames () [0x00000] at Banshee.Base.Localization.get_Languages () [0x00000] at Banshee.Base.Localization.get_XmlLanguages () [0x00000] at Banshee.Base.Localization.SelectSingleNode (System.Xml.XmlNode parent, System.String query) [0x00000] at Banshee.MediaProfiles.Profile..ctor (Banshee.MediaProfiles.MediaProfileManager manager, System.Xml.XmlNode node) [0x00000] at Banshee.MediaProfiles.MediaProfileManager.LoadProfiles (System.Xml.XmlNode node) [0x00000] [Warn 17:49:05.837] Service `Banshee.MediaEngine.TranscoderService' not started: libglib-2.0-0.dll [Warn 17:49:05.840] Caught an exception - libglib-2.0-0.dll (in `Banshee.Unix') at (wrapper managed-to-native) Banshee.IO.Unix.Directory:g_mkdir_with_parents (intptr,int) at Banshee.IO.Unix.Directory.Create (System.String directory) [0x00000] at Banshee.IO.Directory.Create (System.String directory) [0x00000] at Banshee.MediaEngine.TranscoderService..ctor () [0x00000] at <0x00000> <unknown method> at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[]) at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] [Warn 17:49:06.790] Cannot connect to NetworkManager - An available, working network connection will be assumed [Info 17:49:07.390] All services are started 1.970891s Exception in Gtk# callback delegate Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception. System.DllNotFoundException: libpangocairo-1.0-0.dll at (wrapper managed-to-native) Hyena.Gui.PangoCairoHelper:pango_cairo_create_layout (intptr) at Hyena.Gui.PangoCairoHelper.CreateLayout (Cairo.Context cr) [0x00000] at Hyena.Gui.CairoExtensions.CreateLayout (Gtk.Widget widget, Cairo.Context cairo_context) [0x00000] at Hyena.Data.Gui.ListView`1[Banshee.Collection.ArtistInfo].OnExposeEvent (Gdk.EventExpose ) [0x00000] at Gtk.Widget.exposeevent_cb (IntPtr widget, IntPtr evnt) [0x00000] at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at Gtk.Widget.exposeevent_cb(IntPtr widget, IntPtr evnt) at Gtk.Widget.exposeevent_cb(IntPtr , IntPtr ) at Gtk.Application.gtk_main() at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() at Banshee.Gui.GtkBaseClient.Startup() at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) at Banshee.Gui.GtkBaseClient.Startup() at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) at Nereid.Client.Main(System.String[] args) at System.AppDomain.ExecuteAssembly(System.String , System.Security.Policy.Evidence , System.String[] ) at System.AppDomain.ExecuteAssembly(System.String , System.Security.Policy.Evidence , System.String[] ) at System.AppDomain.ExecuteAssembly(System.String assemblyFile) at Booter.Booter.BootClient(System.String clientName) at Booter.Booter.Main() Cairo.Context: called from finalization thread, programmer is missing a call to Dispose
Created attachment 122191 [details] [review] Fix the dll mappings (proper) The old patch was reversed, here's the fixed one.
I see there are some .config files having "os" attributes that you're not patching : src/Core/Banshee.Widgets/Banshee.Widgets.dll.config src/Clients/Booter/Banshee.exe.config Any specific reason for that ?
Created attachment 122198 [details] [review] Fix the dll mappings (complete, hopefully) Yeah. I missed them. Here's a new patch against svn.
Looks good to me, thanks !
There are quite a few other os options, so let's try to fix this for them too. See http://www.mono-project.com/Config_DllMap for the full info. You can have comma-separated values, eg os="linux,freebsd" and you can also have os="!windows,osx". I think replacing the os="linux" with os="!windows,osx" would be good. Thoughts?
Created attachment 122292 [details] [review] Fix the dll mappings for !(linux|windows|os) That sounds more future-proof alright. Here's a new patch with the suggested changes.
Thanks Florent, this looks good to me. I'm assigning the bug to Aaron for him to commit.
Committed, at last ! Bug 592587 reminded me of this, so I went ahead and committed the patch.