Hi, Am Mittwoch, den 04.11.2020, 09:08 +0100 schrieb Danny Milosavljevic: > Hi, > > I've checked guile-gi test/insanity.scm again to find "hard" > evidence. > > For that, I've just checked out guile-gi anew, then ran > test/insanity.scm. > > Steps: > [...] > That's it. It fails. Okay, but it already states something along similar lines in the description of the issue. "It is pretty clear to me, that the main culprit here is a different version of GLib being linked to Guile-GI than the one that should be loaded through Guile-GI."
> (8) Using attached dlopen logger (gcc -fPIC -shared -o block-open.so > block-open.c, then edit tools/uninstalled-env bottom before the exec > to export LD_PRELOAD=$PWD/block-open.so), I get: > dlopen libguile-gi > dlopen /home/dannym/src/guile-gi/guile-gi/./.libs/libguile-gi.so.5 > dlopen libguile-gi > dlopen libguile-gi > dlopen libguile-gi > dlopen libguile-gi > dlopen libguile-gi > dlopen libguile-gi > dlopen /gnu/store/xa1vfhfc42x655hi7vxqmbyvwldnz7r0-glib- > 2.62.6/lib/libgobject-2.0.so.0 > > There it is again. This is not meaningful at all. Nothing here is "there again" except for the libguile-gi, which if I understand it correctly is set up multiple times with different init calls. In particular, the internal loading of libgobject by libguile-gi is obscured, hence why you need (9) to figure out, what actually goes on. > (9) ldd /home/dannym/src/guile-gi/guile-gi/./.libs/libguile-gi.so.5 > |grep gobject > [...] > libgobject-2.0.so.0 => > /gnu/store/4jl613j0d5y6icbxxmwij75fd0i7qpwn-profile/lib/libgobject- > 2.0.so.0 (0x00007fe2a0677000) > > And there is the other one. It is not yet clear, that this is "the other one". You would first need to readlink it, but indeed, as is pointed out in Guile-GI#96, they are different. But we already know all this from our earlier discussion. #96 clearly states, that those two don't line up in `guix environment`, while they do line up in `guix environment --no-graphs` and `guix build`. This is certainly "evidence" and it might even be "hard" depending on how you view it, but the questions is how to interpret it. > Now how do I get more info, using Guix tools? What kind of information do you even want to gather? To be honest, you lose me every time you end up establishing knowledge, that already exists between this thread and the mentioned Guile-GI issue. I suppose if you want to look at how environments are built, building them with higher verbosity would be a start, no? For the purpose of this, it would probably suffice to look at something simpler than guile-gi in its totality, perhaps just gobject- introspection + glib (note, that you'd need Scheme code to access the latter). Regards, Leo
