"port install meld" does not yield working executable
joerg van den hoff
veedeehjay at gmail.com
Wed Mar 17 11:36:01 UTC 2021
On 17.03.21 11:07, Ryan Schmidt wrote:
> On Mar 17, 2021, at 04:07, joerg van den hoff wrote:
>> On 17.03.21 05:07, Ryan Schmidt wrote:
>>> On Mar 16, 2021, at 13:47, joerg van den hoff wrote:
>>>> "** (meld:70489): WARNING **: 19:46:07.080: Failed to load shared library './gtksourceview/libgtksourceview-4.0.dylib' referenced by the typelib: dlopen(./gtksourceview/libgtksourceview-4.0.dylib, 9): image not found
>>>> Meld requires GtkSourceView 4.0 or higher.
>>> That's a relative path, but I don't know what it's meant to be relative to.
>> yes, I noted this (and suspected that some (environment?) variable might not be set correctly somewhere so that $PWD is used as fallback in its place when constructing that path).
>>> On my system, the gtksourceview4 port installs the file /opt/local/lib/libgtksourceview-4.0.dylib. Do you have that file?
>> yes I do:
>> -rwxr-xr-x 1 root admin 803912 Mar 9 22:42 /opt/local/lib/libgtksourceview-4.0.dylib
> Hmm again.
> meld works fine for me on macOS High Sierra. What macOS and Xcode version are you using?
10.15.7 and 12.4
> meld is a python script. I added some debugging to mine: right before this line:
> if version < (self.major_version, self.minor_version):
> I added this line:
> print("version of %s is %s" % (mod.__name__, version))
> Then when I started meld it says:
> version of sys is sys.version_info(major=3, minor=8, micro=8, releaselevel='final', serial=0)
> version of gi.repository.Gtk is (3, 24)
> version of gi.repository.GLib is (2, 58)
> version of gi.repository.GtkSource is (4, 0)
> version of gi is (3, 38, 0)
> version of cairo is (1, 20, 0)
if I do the same I get this output:
version of sys is sys.version_info(major=3, minor=8, micro=8, releaselevel='final', serial=0)
version of gi.repository.Gtk is (3, 24)
version of gi.repository.GLib is (2, 58)
followed by the " Failed to load shared library './gtksourceview/libgtksourceview-4.0.dylib'" error.
> The "gi" in gi.repository.GtkSource alerts me to the fact that this is created by gobject-introspection and is the file /opt/local/share/gir-1.0/GtkSource-4.gir. I think there is something wrong with your /opt/local/share/gir-1.0/GtkSource-4.gir. Specifically in mine, there is the line:
> and I think in yours the line is different. And I think it's this bug:
and I think you are very right :). indeed, that line in my case reads (surprise!)
> and this bug:
> I think gobject-introspection is just broken for the moment. (Or it is fixed but we forgot to revbump all the affected ports to rebuild them.)
> I guess you could manually edit affected .gir files to fix the shared-library paths to be the correct absolute ones.
unfortunately, that does not help. I still get the " Failed to load shared library
'./gtksourceview/libgtksourceview-4.0.dylib' referenced by the typelib:
dlopen(./gtksourceview/libgtksourceview-4.0.dylib, 9): image not found" error -- despite having
fixed the/opt/local/share/gir-1.0/GtkSource-4.gir to provide
and grepping through the other gir-files in that location seems to indicate that this is the only
reference to that dylib file :|.
so still no luck...
I don't know about this stuff (gobject-introspection): is it required to reboot or restart some
process to make changes to the gir file effective? right now it seems `meld' gets that relative path
all the same or from somewhere else....
More information about the macports-users