-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Symbol not found: _g_content_type_get_mime_dirs with gi-gtk on MacOS #227
Comments
Thanks for the report. Perhaps you have an old version of $ nm -D /usr/lib64/libgio-2.0.so | grep g_content_type_get_mime_dirs
00000000000c85d0 T g_content_type_get_mime_dirs |
Hey, thanks for the response. I think you might be on to something. I found out where libgio is on my system and confirmed that it doesn't contain
Finally I ran Who is responsible for maintaining libgio? |
Ok, did some more digging around. A few more questions came up:
Wild guess: the libHSgi-gio package is generated based on the contents of libgio.so which might have been built without somehow respecting that some functions are private. The dylib version is somehow built without the private functions? |
Thanks for doing the digging! I think I can make a guess based on that: if you look to the source of On the other hand, the <function name="content_type_get_mime_dirs"
c:identifier="g_content_type_get_mime_dirs"
version="2.60">
...
</function> If you have something similar in yours then it is a bug in In the meanwhile, while the upstream bug is there, we can easily add a workaround in |
Ok, I was able to find two locations on my system containing a Gio-2.0.gir file: /usr/local/Cellar/gobject-introspection/1.60.1/share and /usr/local/share/gir-1.0 Both of them have the same reference to g_content_type_get_mime_dirs So you are saying that the gir file on my system contains this symbol, but my dylib doesn't right? And this should be reported to... the glib maintainers? |
Thanks for checking!
Yes. The bindings are generated from the
Yes, indeed. You can report it here. Thanks for doing this! In the meanwhile I'll add a workaround in |
Thanks, would love to try gi-gtk so hope you can get around to adding the workaround. By the way. I submitted an issue for this here: https://gitlab.gnome.org/GNOME/glib/issues/1791 |
I just uploaded gi-gio-2.0.21 which I believe should fix this issue. Could you please git it a try, and let me know if it works for you? |
Do I need to overwrite any other version dependencies? I tried adding
Is this an indication that the version of gi-gtk in my Stack snapshot is incompatible with gi-gio 2.0.21? |
If you can, I would recommend upgrading to the latest nightly (https://www.stackage.org/nightly-2019-06-08), as this has the latest versions of everything you need. Alternatively, you can add the latest versions of - haskell-gi-0.22.2
- haskell-gi-base-0.22.1
- gi-atk-2.0.18
- gi-cairo-1.0.20
- gi-gdk-3.0.19
- gi-gdkpixbuf-2.0.20
- gi-gio-2.0.22
- gi-glib-2.0.20
- gi-gobject-2.0.19
- gi-gtk-3.0.29
- gi-gtk-hs-0.3.7.0 |
Thanks. Finally found some time to try this again. I was able to build and run a simple gi-gtk app on MacOS using the snapshot you suggested. 🙇 |
Great, thanks for checking! Closing then, thanks for the report. |
@garetxe I got same error message in windows msys2/mingw64.
Is it the same as this problem ? |
@coponhub Thanks for the report. Yes, indeed it seems like the same problem. I have just pushed 6585431, which should fix the issue, and should appear in the next version of In the meanwhile, a workaround is to edit |
I am trying out https://owickstrom.github.io/gi-gtk-declarative/ and was trying to follow the instructions for using it on MacOS.
I add the following to
dependencies
in package.yaml: gi-gtk, gi-gtk-declarative, gi-gtk-declarative-app-simpleI followed the instructions for installing system dependencies for MacOS here: https://github.com/haskell-gi/haskell-gi#installation
Specifically installing the three required packages using brew and setting the PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig
Next when I try to run
stack build
, the process encounters the following error:I ran
nm -gu /Users/sam/.stack/snapshots/x86_64-osx/lts-13.19/8.6.4/lib/x86_64-osx-ghc-8.6.4/libHSgi-gio-2.0.19-7OCgNZnEEEh4XbhFBPrEBZ-ghc8.6.4.dylib | grep _g_content_type_get_mime_dirs
which lists the symbol as existing in this dylib file.I'm not sure if the problem is caused by stack, brew or haskell-gi but I raise the issue here to start the investigation.
The text was updated successfully, but these errors were encountered: