I didn't realize that I had ended up fixing your exact issue in my pull request either...
But here, the trick is that it's not an libgtk-win32 that gets copied, but the gtk-sharp-beans.dll, without a .config, and it's *this* gtk-sharp-beans.dll that wants the libgtk-win32 DLL that it can't find. Removing the gtk-sharp-beans.dll causes the runtime to load the gtk-sharp-beans.dll from /usr/lib/mono/gac/gtk-sharp-beans, which comes with a proper gtk-sharp-beans.dll.config containing the right link. So basically, the issue comes from the "f-spot" gtk-sharp-beans.dll being loaded without its dependency map, overriding the loading of the DLL in the mono assemblies that is properly configured. I think. I'm pretty sure. ;) On Wed, Jul 8, 2015 at 9:18 PM, Jack <[email protected]> wrote: > Agreed. I wasn't proposing f-spot to do that. I think I didn't realize you > were having the same issue. When I get home later, I'll remove that entry > from /etc/mono.config and try everything from scratch. I don't recall > finding a copy of libgtk-win32 or libgtk-x11 anywhere within the f-spot > build or install directories, but I might have only been looking for one and > not the other. Hopefully I'll get to this later today - otherwise it may be > few days. > > > On 7/8/2015 3:02 PM, Matthieu Nguyen wrote: >> >> but that's the thing, f-spot shouldn't touch /etc/mono.conf. What if >> an update to mono erases your mono.conf and the workaround you made? >> :). >> So it's great you found a workaround, but it's still just that, a >> workaround. I have a feeling I found the bottom of the issue, but I am >> not too eager to go to the lead dev saying "works on *my* machine" as >> the only justification :D. >> With regards to the 2.0 API version, I guess you are referring to: >> https://github.com/mono/f-spot/pull/29 :) >> >> On Wed, Jul 8, 2015 at 8:52 PM, Jack <[email protected]> wrote: >>> >>> I'll have to read this again more carefully when I'm at home. However, I >>> finally solved the problem of not finding libgtk-win32 by adding the >>> dllmap >>> statement to /etc/mono.conf. With that alone, the configure/compile went >>> fine. I also manually updated to the 2.0 API versions of gtk-sharp and >>> gtk-sharp-glib, pending Gentoo creating new packages. Also - after those >>> changes, I started with a fresh git clone. >>> >>> Jack >>> >>> >>> On 7/8/2015 2:31 PM, Matthieu Nguyen wrote: >>>> >>>> Trying to compile from latest sources on a clean mageia5, I ran into >>>> the problem again. The odd thing is, all the csproj and .config files >>>> create the mapping to libgtk-x11-2.0.so.0, except one, >>>> gtk-sharp-beans.dll. The one that is in the bin folder. I do not know >>>> *why* the dll is copied from wherever it is taken. All I know is that >>>> if I *remove* gtk-sharp-beans.dll from the f-spot/bin directory, then >>>> the error goes away. And, oddly enough, the gtk-sharp-beans.dll under >>>> f-spot/bin is without any .config. >>>> >>>> I think I tried to fix it in one of my pull requests, but that didn't >>>> get merged to main. >>>> >>>> >>>> >>>> https://github.com/NguyenMatthieu/f-spot/commit/b9ac2c31d58682b7cb77e680c556e18eec2ab474 >>>> >>>> (What I did at the time was remove the "<Package>" for >>>> gtk-sharp-beans in all csproj files, it seemed to prevent the dll from >>>> being copied). >>>> >>>> If you could try that on your machine (removing the >>>> gtk-sharp-beans.dll from f-spot/bin and from /usr/local/lib/f-spot/ ), >>>> and if it does indeed work, then I'll resuggest my pull request, or an >>>> updated version of it... >>>> >>>> On Thu, May 21, 2015 at 3:01 AM, Jack <[email protected]> wrote: >>>>> >>>>> Well, I'm finally getting back to spending some time trying to get >>>>> this >>>>> to >>>>> work, still with no luck. >>>>> >>>>> I do not find libgtk-win32 anywhere. As I said, it is mapped in the >>>>> gac >>>>> to >>>>> libgtk-x11, which is in /usr/lib/.... Should there be a copy of it in >>>>> /usr/local/lib/f-spot? That directory has lots of .dll files, some >>>>> with >>>>> an >>>>> associated .mdb and some with a .config. The only .so in that >>>>> directory >>>>> is >>>>> libfspot.so. However, both FSpot.Gui.dll.config and >>>>> Hyena.Gui.dll.config >>>>> include a line mapping libgtk-win32-2.0-0.dll to libgtk-x11-2.0.so.0. >>>>> >>>>> Any suggestions on further troubleshooting would be greatly >>>>> appreciated. >>>>> >>>>> Jack >>>>> >>>>> >>>>> On 2015.03.29 15:47, Matthieu Nguyen wrote: >>>>>> >>>>>> I recall having a problem with a dll like that because it was somehow >>>>>> copied to the bin folder without a .dll.config to go with it, so in >>>>>> the >>>>>> end >>>>>> F-Spot was trying to load the .dll from the /usr/local/lib/f-spot/ >>>>>> folder >>>>>> which was missing the .config linking to the proper .so, rather than >>>>>> taking >>>>>> the lib from the gac. >>>>>> >>>>>> Check what you have in your /usr/local/lib/f-spot folder, just in >>>>>> case... >>>>>> >>>>>> On Sun, Mar 29, 2015 at 9:19 PM, Jack <[email protected]> wrote: >>>>>>> >>>>>>> As I said in the other thread, I have gotten f-spot from git-head to >>>>>>> compile, but I still get a dll not found error on >>>>>>> libgth-win32-2.0-0.dll. >>>>>>> This seems odd, because that library is in a dllmap in the gac for >>>>>>> both >>>>>>> gnome-sharp and gtk-sharp, both pointing to >>>>>>> target="libgtk-x11-2.0.so.0" >>>>>>> which exists in both /usr/lib32 and /use/lib64, and is loaded before, >>>>>>> and is >>>>>>> searched in both before and immediately after the error, if I run >>>>>>> f-spot >>>>>>> with MONO_LOG_LEVEL=debug. >>>>>>> >>>>>>> I've found this error referenced in a few bug reports (f-spot and >>>>>>> other >>>>>>> apps) but no definitive solution, just claims that something wasn't >>>>>>> installed correctly. It seems as if neither of those two dllmap >>>>>>> entries is >>>>>>> being read. I could try putting it explicitly in f-spot.exe.config, >>>>>>> but I >>>>>>> don't know if that's really a good solution for the long run, or just >>>>>>> a >>>>>>> quick work-around. >>>>>>> Any thoughts or suggestions? >>>>> >>>>> _______________________________________________ >>>>> f-spot-list mailing list >>>>> [email protected] >>>>> https://mail.gnome.org/mailman/listinfo/f-spot-list >>>> >>>> >>>> >> >> > -- Matthieu Nguyen - ingénieur informatique ENSEIRB promotion 2004 - Info, spé GL. _______________________________________________ f-spot-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/f-spot-list
