tomboy-notes / tomboy

This is the legacy development for Tomboy.

Home Page:http://projects.gnome.org/tomboy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stopped running on windows 10 after installing xamarin studio

botheredbybees opened this issue · comments

love tomboy and have it running on several platforms and devices. This included a windows 10 machine up until yesterday, when I installed xamarin studio and tomboy stopped working.

Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'glibsharpglue-2': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)
   at GLib.ObjectManager.gtksharp_get_type_id(IntPtr raw)
   at GLib.ObjectManager.GetTypeOrParent(IntPtr obj)
   at GLib.ObjectManager.CreateObject(IntPtr raw)
   at GLib.Object.GetObject(IntPtr o, Boolean owned_ref)
   at Gtk.IconTheme.get_Default()
   at Tomboy.GuiUtils.GetIcon(Assembly asm, String resource_name, Int32 size) in C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\Utils.cs:line 145
   at Tomboy.ActionManager..ctor() in C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\ActionManager.cs:line 52
   at Tomboy.Application.Initialize(String locale_dir, String display_name, String process_name, String[] args) in C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\Utils.cs:line 1070
   at Tomboy.Tomboy.Main(String[] args) in C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\Tomboy.cs:line 82

paths all OK, and dll found in the expected spot.

re-installed gtk-sharp-2.12.45 (and gtk2-runtime-2.24.10 and tomboy 1.15.9 for good measure)
restarted the computer, but still no joy. I'm pretty sure the error message is misleading as the glibsharpglue-2.dll is in my path:

PATH=
c:\Program Files\Docker\Docker\Resources\bin;
c:\ProgramData\Oracle\Java\javapath;
c:\Windows\system32;
c:\Windows;
c:\Windows\System32\Wbem;
c:\Windows\System32\WindowsPowerShell\v1.0\;
c:\Program Files (x86)\Microsoft Application Virtualization Client;
c:\Program Files (x86)\Sennheiser\SoftphoneSDK\;
c:\HashiCorp\Vagrant\bin;
c:\Program Files (x86)\GTK2-Runtime\bin;
c:\Program Files (x86)\GtkSharp\2.12\bin;
c:\PROGRA~2\Groovy\GROOVY~1.8\bin;
c:\Program Files (x86)\WebEx\Productivity Tools;
c:\Program Files\nodejs\;
c:\Program Files (x86)\Sea-Bird\SBEDataProcessing-Win32;
c:\Program Files (x86)\Calibre2\;
c:\Program Files (x86)\Gow\bin;
c:\Program Files\Git\cmd;
c:\apache-maven\apache-maven-3.5.0\bin;
c:\apache-ant\apache-ant-1.10.1\bin;
c:\Ruby22-x64\bin;
c:\Users\sha38\AppData\Local\Microsoft\WindowsApps;
c:\Program Files\netCDF 4.4.1.1\bin;
c:\Users\sha38\AppData\Roaming\npm;
c:\Program Files (x86)\Microsoft VS Code\bin;
c:\Users\sha38\AppData\Local\Continuum\Anaconda3;
c:\Users\sha38\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit);
c:\Program Files\Docker Toolbox;c:\usr\local\spark\bin;
c:/Users/sha38/AppData/Local/Continuum/Anaconda3;
c:/Users/sha38/AppData/Local/Continuum/Anaconda3/Scripts;
c:/Users/sha38/AppData/Local/Continuum/Anaconda3/Library/bin

Is there any way I can get more information on the culprit?

System.DllNotFoundException: Unable to load DLL 'glibsharpglue-2': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)

If the DLL itself is there as you've checked, the other standard reason is that some other library, which is a dependency of this one, got changed and the new one doesn't have the same methods/signatures. "Changed" may mean "some other DLL with the same name is now being picked instead of the proper one". Very possible with Xamarin installed.

Start with looking at the Tomboy exe under Dependency Walker, see which glibsharpglue library it sees and if that'
s the correct one - check that library's dependencies as well. Anything being picked from Xamarin install, or generally - from non-GTK install is a suspect.

Thanks Alex.
I didn't have any joy with Dependency Walker (it ain't no strace, that's for sure), but you spurred me to further action.
In the end I copied glibsharpglue-2.dll from another machine that was running tomboy without issues and put it in the tomboy directory on the Win10 box, and now everything's sweet.

I'm afraid the solution given here didn't work for me. I copied the DLL into Tomboy's folder, and it gives the exact same error, as though the DLL weren't even there.

hmm, did the dll come from a working install? That's where I got mine. This thread on the unity forum has a link to one that also seems to work.

Also, you might have to set the tomboy_path_prefix system variable to point to the tomboy install directory and/or put the install directory into your path.

Worked for me too (Win 7 x86-64):

  • copy glibsharpglue-2.dll from the above Unity thread zip file to C:\Program Files (x86)\Tomboy
  • set PATH=%PATH%;C:\Program Files (x86)\Tomboy
  • start Tomboy.exe