Skip to content
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

GTK (glib) dll names are incompatible #12428

Closed
BrentFarris opened this issue Jul 14, 2020 · 4 comments · Fixed by #13100
Closed

GTK (glib) dll names are incompatible #12428

BrentFarris opened this issue Jul 14, 2020 · 4 comments · Fixed by #13100
Assignees
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist

Comments

@BrentFarris
Copy link

BrentFarris commented Jul 14, 2020


Is your feature request related to a problem? Please describe.
I am unable to use any 3rd party libraries that are not in vcpkg (such as gstreamer) because the way that vcpgk builds the GTK libs has the wrong names for a lot of the dll files. For example gobject-2.dll is what vcpkg has but gobject-2.0-0.dll is the correct name. This goes for many .dll files produced by vcpkg for gtk. Now when I try to include gstreamer, it is saying that gobject-2.0-0.dll is missing.

Proposed solution
(a) Seeing how gobject-2.0-0.dll is the official build name for the dll, I am requesting that vcpkg builds all the dll files with the official naming so that there is compatibility with the many other libraries that vcpkg does not currently have.
(b) Adding gstreamer library to vcpkg (but this just solves only my personal issue)

Describe alternatives you've considered
I considered having 2 copies of every dll with the wrong name, but that is (1) silly and (2) the other dll is built separately with different flags possibly which means that I have conflicts between the internals and behaviors.

Additional context

  1. Install gtk from vcpkg
  2. Install gstreamer libs
  3. Try to build their hello world example
  4. Notice that it is asking for files such as gobject-2.0-0.dll and glib-2.0-0.dll (the official dll names) but vcpgk built them as gobject-2.dll and glib-2.dll
@Neumann-A
Copy link
Contributor

That is not GTK but glib. glib needs to be updated and changed to its native build system. This can only be done when meson within vcpkg is updated to at least 0.55.

@BrentFarris BrentFarris changed the title GTK dll names are incompatible GTK (glib) dll names are incompatible Jul 15, 2020
@BrentFarris
Copy link
Author

BrentFarris commented Jul 15, 2020

That is not GTK but glib. glib needs to be updated and changed to its native build system. This can only be done when meson within vcpkg is updated to at least 0.55.

Thanks for the reply! I've updated the title to help search engines.

Today I also built everything using msys2 and realized that there are some other bugs with the GTK vcpkg installation. Namely when I maximize a window a large amount of memory is allocated and never freed. If I continue opening the window, maximizing it, and closing it I can very easily get my memory well over 1GB of ram with only a single window open (which has no widgets, just a blank window); this is not what happens with msys2 build of GTK. Anyway, I think that is a separate issue I can write up later I suppose, although I'm not sure if it is a bad build from vcpkg or just a bad version of gtk.

@NancyLi1013 NancyLi1013 added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Jul 15, 2020
@MVoz
Copy link
Contributor

MVoz commented Jul 15, 2020

@BrentFarris
these are not VCPKG errors, look at the package versions, they are outdated here, so the library names are different

@Neumann-A
what will change with the MESON update ? as far as I understand, they fixed errors with the ARM build*
what's stopping from updating GNOME * packages already ? x64, x86 and other

@PhoebeHui PhoebeHui self-assigned this Jul 16, 2020
@PhoebeHui
Copy link
Contributor

For GTK, since I noticed that the lib name '-lgtk-3' used in gtk and other XXXpc.in file. so I removed the '0' for ARCHIVE_OUTPUT_NAME, before the libs name is gdk-3.0.lib, now is gdk-3.lib. related to #12326.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants