Skip to content
This repository has been archived by the owner on Jun 8, 2021. It is now read-only.

On windows gtk::init() fails with entry point not found errors #593

Closed
madmaxio opened this issue Nov 20, 2017 · 20 comments
Closed

On windows gtk::init() fails with entry point not found errors #593

madmaxio opened this issue Nov 20, 2017 · 20 comments

Comments

@madmaxio
Copy link

madmaxio commented Nov 20, 2017

On windows gtk::init() fails with entry point not found errors:

cairo_win32_surface_create_with_format not found in DLL C:\msys64\mingw64\bin\libgdk-3-0.dll

g_getenv not found in DLL C:\msys64\mingw64\bin\libatk-1.0.-0.dll

@GuillaumeGomez
Copy link
Member

cc @EPashkin (since you have a windows 😛 )

@EPashkin
Copy link
Member

Don't see cairo_win32_surface_create_with_format in cairo, gdk. Where you get that name?
Windows version of g_getenv named g_getenv_utf8 and it in libglib-2.0-0.dll (with just g_getenv).

@EPashkin
Copy link
Member

Oh, forgot read issue title :(
This very strange

@madmaxio
Copy link
Author

Well i googled cairo issue, https://bugs.freedesktop.org/show_bug.cgi?id=92771
Somehow it looks like i habe older version of it installed, but I have no idea how to fix, because i used pacman to install gtk

@EPashkin
Copy link
Member

@madmaxio
Copy link
Author

Yes, behavior is exactly same.

@EPashkin
Copy link
Member

EPashkin commented Nov 20, 2017

What says pkg-config --modversion cairo gtk+-3.0 gdk-3.0 in mingw64 prompt ?

@EPashkin
Copy link
Member

Sorry, was wrong copy.

@EPashkin
Copy link
Member

Also what pathes return where libgtk-3-0.dll in windows command prompt.

@madmaxio
Copy link
Author

It is C:\msys64\mingw64\bin\libgtk-3-0.dll

@EPashkin
Copy link
Member

Seems your messages missleading, cairo_win32_surface_create_with_format present in cairo and used in gdk.

@EPashkin
Copy link
Member

And what says pkg-config? It can be run from windows command-line too.

@EPashkin
Copy link
Member

where libgtk-3-0.dll seems normal, try run it from place where you run cargo,
also with libcairo-2.dll, libgdk-3-0.dll, libglib-2.0-0.dll, libatk-1.0-0.dll it all must point to same directory.

@madmaxio
Copy link
Author

pkg-config --libs libgtk-3-0.dll

Package libgtk-3-0.dll was not found in the pkg-config search path.
Perhaps you should add the directory containing `libgtk-3-0.dll.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libgtk-3-0.dll' found

@madmaxio
Copy link
Author

where libcairo-2.dll

C:\gstreamer\1.0\x86_64\bin\libcairo-2.dll
C:\msys64\mingw64\bin\libcairo-2.dll

where libgdk-3-0.dll

C:\msys64\mingw64\bin\libgdk-3-0.dll

where libglib-2.0-0.dll

C:\gstreamer\1.0\x86_64\bin\libglib-2.0-0.dll
C:\msys64\mingw64\bin\libglib-2.0-0.dll

where libatk-1.0-0.dll

C:\msys64\mingw64\bin\libatk-1.0-0.dll

I did some gstreamer stuff earlier, looks like this is the problem (two places for libcairo-2.dll)?

@EPashkin
Copy link
Member

Yes, seems gstreamer has old cairo and atk.

@EPashkin
Copy link
Member

Check pkg-config --modversion cairo gtk+-3.0 gdk-3.0 just in case
But IMHO better way change your %PATH% variable that gstreamer will be after mingw64

@madmaxio
Copy link
Author

Wow, it worked! Thx a lot!

@GuillaumeGomez
Copy link
Member

@EPashkin: We should maybe add a "troubleshot" section for windows on gtk-rs.org, don't you think?

@EPashkin
Copy link
Member

Not sure about it, there too many way to broke windows installation.

alex179ohm pushed a commit to alex179ohm/gtk that referenced this issue Oct 21, 2019
Enable logging from libgir component by default at warn level.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants