Re: back to an old problem



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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]