[prev in list] [next in list] [prev in thread] [next in thread] 

List:       f-spot-list
Subject:    Re: back to an old problem
From:       Matthieu Nguyen <nguyen.matthieu () gmail ! com>
Date:       2015-07-08 19:28:23
Message-ID: CAFX1isfoPNsWmbKWPxL3+3EgQ=JMMiph10FWGXou-OBvumptQw () mail ! gmail ! com
[Download RAW message or body]

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 <ostroffjh@sbcglobal.net> 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 <ostroffjh@sbcglobal.net> 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 <ostroffjh@sbcglobal.net> 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 <ostroffjh@sbcglobal.net> 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
>>>>> f-spot-list@gnome.org
>>>>> 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
f-spot-list@gnome.org
https://mail.gnome.org/mailman/listinfo/f-spot-list

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic