Gtk3 Windows crashes for ask_color #209

Closed
ccoupe opened this Issue Feb 22, 2016 · 12 comments

Comments

Projects
None yet
2 participants
@ccoupe
Contributor

ccoupe commented Feb 22, 2016

Found an error on Shoes/Windows/Gtk3 with gtk_color_chooser_dialog_new. It crashes. I strongly suspect this is a gtk bug - we aren't using a very current one on Windows. This affects Shoes 3.3.0 too so that tells us something about how many people use ask_color or run the samples/simple-dialog.rb

@ccoupe ccoupe self-assigned this Feb 22, 2016

@ccoupe ccoupe added this to the 3.3.1 milestone Feb 22, 2016

@passenger94

This comment has been minimized.

Show comment
Hide comment
@passenger94

passenger94 Feb 22, 2016

Contributor

i confirm this (win7) looks like a bug in gtk_color_chooser_dialog_new, it crashes straight with no helpful backtrace, even in it's simplest form gtk_color_chooser_dialog_new(NULL, NULL) and nothing more in shoes_dialog_color ! Maybe a gtk upgrade (ouch !!!) ?
(alternative would be a custom chooser dialog, hoping color chooser widget is not the faulty ....)

Works on Linux

Contributor

passenger94 commented Feb 22, 2016

i confirm this (win7) looks like a bug in gtk_color_chooser_dialog_new, it crashes straight with no helpful backtrace, even in it's simplest form gtk_color_chooser_dialog_new(NULL, NULL) and nothing more in shoes_dialog_color ! Maybe a gtk upgrade (ouch !!!) ?
(alternative would be a custom chooser dialog, hoping color chooser widget is not the faulty ....)

Works on Linux

@ccoupe

This comment has been minimized.

Show comment
Hide comment
@ccoupe

ccoupe Feb 22, 2016

Contributor

I'm trying to build a newer gtk3 for Windows. The newer ones like 3.10.9 have a well known but never fixed issue https://bugzilla.gnome.org/show_bug.cgi?id=700445. I was never any good at applying patch files and that one is a problem (for me). I can do it by hand.

Because you asked once , the .pc files that reference ~/Projects/shoesdeps/mingw are used to build all those dependencies. So if they came from cross compiling (they did) then when building something like a new gtk, it has to be cross compiled.

Contributor

ccoupe commented Feb 22, 2016

I'm trying to build a newer gtk3 for Windows. The newer ones like 3.10.9 have a well known but never fixed issue https://bugzilla.gnome.org/show_bug.cgi?id=700445. I was never any good at applying patch files and that one is a problem (for me). I can do it by hand.

Because you asked once , the .pc files that reference ~/Projects/shoesdeps/mingw are used to build all those dependencies. So if they came from cross compiling (they did) then when building something like a new gtk, it has to be cross compiled.

@passenger94

This comment has been minimized.

Show comment
Hide comment
@passenger94

passenger94 Feb 23, 2016

Contributor

ok, thanks :-)
Let's hope it'll be as boisterous as a smooth sunny sunday afternoon lazy stroll

Contributor

passenger94 commented Feb 23, 2016

ok, thanks :-)
Let's hope it'll be as boisterous as a smooth sunny sunday afternoon lazy stroll

@ccoupe

This comment has been minimized.

Show comment
Hide comment
@ccoupe

ccoupe Feb 23, 2016

Contributor

That patch file actually worked for 3.10.9 (but not for 3.12.2) which allowed me to get to the next problem - it creates an extract-string app on the build system but of course it uses windows libs so that fails. There appear to be env variables that should work for this but they don't. If you think Shoes rakefiles are confusing, take a look at gtk3.

I also considered building all dependencies on Windows natively. I learned (or relearned) that the msys included in devkit is different from a normal msys install and comes with some interesting problems of it's own. It's a newer gcc 4.9.x, we'd have to build Ruby from source - not too big an issue plus all the dependencies for it and all those dlls for Shoes. It's something that needs to be done just to show/document how to do it. It's also pretty low on the fun list.

Contributor

ccoupe commented Feb 23, 2016

That patch file actually worked for 3.10.9 (but not for 3.12.2) which allowed me to get to the next problem - it creates an extract-string app on the build system but of course it uses windows libs so that fails. There appear to be env variables that should work for this but they don't. If you think Shoes rakefiles are confusing, take a look at gtk3.

I also considered building all dependencies on Windows natively. I learned (or relearned) that the msys included in devkit is different from a normal msys install and comes with some interesting problems of it's own. It's a newer gcc 4.9.x, we'd have to build Ruby from source - not too big an issue plus all the dependencies for it and all those dlls for Shoes. It's something that needs to be done just to show/document how to do it. It's also pretty low on the fun list.

@passenger94

This comment has been minimized.

Show comment
Hide comment
@passenger94

passenger94 Feb 24, 2016

Contributor

It's also pretty low on the fun list

:-D !!!
You still find enough resources for some persiflage, all is possible !!!
Damn, pretty Homeric for a stroll !

Contributor

passenger94 commented Feb 24, 2016

It's also pretty low on the fun list

:-D !!!
You still find enough resources for some persiflage, all is possible !!!
Damn, pretty Homeric for a stroll !

@ccoupe

This comment has been minimized.

Show comment
Hide comment
@ccoupe

ccoupe Feb 24, 2016

Contributor

With some hacking, I managed to get Gtk 3.10.9 cross compiled, built Shoes and .....
win7-color

I'm not going to close the issue just yet because there one of the hacks is a hack and I'd like to do better. Perhaps apply them to gtk 3.1.4.9 and give that a try. Or may 3.16 or 3.18 which would put windows well ahead most linux distro's Gtk versions. And then create and upload a modified mingw.tar.gz

Contributor

ccoupe commented Feb 24, 2016

With some hacking, I managed to get Gtk 3.10.9 cross compiled, built Shoes and .....
win7-color

I'm not going to close the issue just yet because there one of the hacks is a hack and I'd like to do better. Perhaps apply them to gtk 3.1.4.9 and give that a try. Or may 3.16 or 3.18 which would put windows well ahead most linux distro's Gtk versions. And then create and upload a modified mingw.tar.gz

@ccoupe

This comment has been minimized.

Show comment
Hide comment
@ccoupe

ccoupe Feb 24, 2016

Contributor

100MB of dependencies at http://shoes.mvmanila.com/public/shoesdeps/mingw/ming-Shoes-3.3.1.gz BE CAREFUL - the top dir inside is 'mingw'

Contributor

ccoupe commented Feb 24, 2016

100MB of dependencies at http://shoes.mvmanila.com/public/shoesdeps/mingw/ming-Shoes-3.3.1.gz BE CAREFUL - the top dir inside is 'mingw'

@passenger94

This comment has been minimized.

Show comment
Hide comment
@passenger94

passenger94 Feb 24, 2016

Contributor

👍
Do i need 7 zip to open the internal ming-Shoes-3.3.1 file ?

Contributor

passenger94 commented Feb 24, 2016

👍
Do i need 7 zip to open the internal ming-Shoes-3.3.1 file ?

@ccoupe

This comment has been minimized.

Show comment
Hide comment
@ccoupe

ccoupe Feb 24, 2016

Contributor

Probably. It's tar.gz .

more correctly it came from tar zcf ming-Shoes.3.3.1.gz ming

Contributor

ccoupe commented Feb 24, 2016

Probably. It's tar.gz .

more correctly it came from tar zcf ming-Shoes.3.3.1.gz ming

@passenger94

This comment has been minimized.

Show comment
Hide comment
@passenger94

passenger94 Feb 25, 2016

Contributor

ok downloaded it again, (the link above is wrong now), it's
http://shoes.mvmanila.com/public/shoesdeps/mingw/ming-Shoes-3.3.1.tar.gz
compiled and works fine now ! congrats

Btw i had to change libpng to libpng16 again in cairo.pc, can't compile on my system otherwise

Is there a way to make gtk prettier on windows ?

Contributor

passenger94 commented Feb 25, 2016

ok downloaded it again, (the link above is wrong now), it's
http://shoes.mvmanila.com/public/shoesdeps/mingw/ming-Shoes-3.3.1.tar.gz
compiled and works fine now ! congrats

Btw i had to change libpng to libpng16 again in cairo.pc, can't compile on my system otherwise

Is there a way to make gtk prettier on windows ?

@ccoupe

This comment has been minimized.

Show comment
Hide comment
@ccoupe

ccoupe Feb 25, 2016

Contributor

That png.pc error might be a good reason to see what happens with a new set of deps.

Check if there is a gtk-demo.exe in minw/bin - interesting program I wish It was installed on linux. There's some other exe's in their that might be worth exploring too.

Contributor

ccoupe commented Feb 25, 2016

That png.pc error might be a good reason to see what happens with a new set of deps.

Check if there is a gtk-demo.exe in minw/bin - interesting program I wish It was installed on linux. There's some other exe's in their that might be worth exploring too.

@ccoupe

This comment has been minimized.

Show comment
Hide comment
@ccoupe

ccoupe Mar 8, 2016

Contributor

Is there a way to make gtk prettier on windows ?

The Shoes download includes a theme (or maybe two) so there is a lot that could be done, either to the default - we had to fix a font setting already. There are many things that could be done.

Of course, Cobbler should have buttons to download and switch themes. Damn thing will be larger than the manual if we add the missing features to Cobbler.

Contributor

ccoupe commented Mar 8, 2016

Is there a way to make gtk prettier on windows ?

The Shoes download includes a theme (or maybe two) so there is a lot that could be done, either to the default - we had to fix a font setting already. There are many things that could be done.

Of course, Cobbler should have buttons to download and switch themes. Damn thing will be larger than the manual if we add the missing features to Cobbler.

@ccoupe ccoupe closed this Mar 8, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment