PDA

View Full Version : Possible GTK2 Issue



Omrii
04-02-2016, 03:23 PM
A friend rebuilt his machine and attempted to install on Win7 64-bit appropriately, but was caught in a loop for GTK2. Expecting this was a typically issue with x64 Ruby, permission etc, I uninstalled Ruby from one of my VMs and attempted to get installed again. I ran into the same issue. After a long while, I was only able to get lich.rbw to run successfully (without asking to install gtk2) by copying the c:\ruby\C:\Ruby200\lib\ruby\gems\2.0.0\cache, gems, and specification folder over to the box I was trying to get working. The only obvious differences I could find were as follows:

Fresh install of gtk2 (manual was attempted as well) uses these versions:
cairo-1.15.2-x86-mingw32
pkg-config-1.1.7

while the working version I have running again is using
cairo-1.14.1-x86-mingw32
pkg-config-1.1.6

I do not know if this is an accurate root cause, but I wanted to share in the event someone runs into a similar problem. I did not find a thread that spoke to this specific situation.

Haldrik
04-02-2016, 07:08 PM
You mention x64 ruby... but it's not clear. Are you using x64 ruby?

Omrii
04-02-2016, 09:12 PM
Everything was as it should be to my knowledge. x86 Ruby 2.0.0 p648. I verified the gtk2 versions as all x86. I attempted giving ruby.exe & rubyw.exe run as admin. Everything I could think of the troubleshoot the issue. At the end, only when I copied the gems/2.0.0/ folders mentioned over to the new install from a previously working installation on another system was I able to get everything functional.

Triex
04-03-2016, 11:21 PM
I'm encountering this issue as well. Just providing input & more data points for the research; I understand it's already being looked into (thank you!)

This is a fresh install on an x64 Windows 7 system.
1. Downloaded the file "rubyinstaller-2.0.0-p648.exe" (not the x64 version) from http://rubyinstaller.org/downloads/ and installed as admin.
2. Extracted Lich to "C:\Program Files (x86)\Lich\lich"
a. I also tried saving & running lich from "My Documents".
3. sqlite3 installed without a hitch.
4. Window came up for gtk2 and the message started off with: "Lich uses gtk2 to create windows, but it is not installed." "...would you like to install now?"
5. Select yes and it downloaded the gtk2 files (same ones that Omrii mentioned above).
6. Prompt came up to restart lich (selected yes).
7. When Lich restarted, it displayed the same window stating that gtk2 is not installed.
8. I clicked no to installing gtk2 again.
9. Omrii zipped up his 2.0.0 files (thanks again!) and sent them to me. At this point, I copied them to C:\Ruby200\lib\ruby\gems folder and overwrote what was there.
10. Loaded lich and the gtk2 message came right up.

Tillmen
04-04-2016, 05:09 PM
I hereby declare everything fixed forever, and whatnot.

The issue is apparently with cairo (a dependency for Gtk2) version 1.15.2, as Omrii pointed out. For some reason, everything appears to install successfully (which threw me off for a while), but when it's time to use it, cairo can't be found. I changed Lich to ask for cairo 1.14.3, which seems to work fine.

I also changed it from asking for Gtk2 2.2.0 to 2.2.5, which also seems to work fine, but may or may not cause problems. At some point, Gtk2 2.2.1 was causing issues, which is why Lich started requesting version 2.2.0. It installed and loaded fine, but when you used it, it had some sort of issue that I don't remember. So, if you find some sort of issue with 2.2.5, let me know.

The fix is located at https://lichproject.org/download/lich-4.6.32.rbw

Right-click, save as, select your lich folder, maybe rename it to lich.rbw, maybe backup your current lich.rbw first.

And as always, if the world is coming to an end, you can get a previous version of Lich from https://lichproject.org/download/lichrb (or from your lich\temp directory) (don't run lich from your lich/temp directory, move it first)

More important stuff:

If you've had the gtk2 issue, then you have cairo 1.15.2 installed already, and Ruby will try to use that instead of the one that works, and that won't work, so…

Open a command prompt as admin (start menu, type "cmd" in the search bar, right-click on cmd.exe, select run as administrator) (If this is different for Win10, someone post instructions.)

Then type (and then press enter): c:\ruby200\bin\gem.bat uninstall cairo

If you have multiple versions installed, it'll ask you which one. Type the number before version 1.15.2 and hit enter.

If you installed Ruby somewhere else, or installed a newer version, the path will be different. If you checked the box in the Ruby installer about adding it to your path, then you can just type "gem uninstall cairo"

Tillmen
04-04-2016, 05:12 PM
Also in the Lich 4.6.32 above, I took another stab at the UAC issues. Lich now has five launch methods, which it will cycle through when it fails to connect. Since the answer to the UAC woes seemed to be setting rubyw.exe to always run as admin, I added two launch methods that will spawn another Ruby/Lich process as admin whose sole task is to start the Simu Launcher. Lich already does this to edit the registry and I've never heard of it failing, so I have high hopes.

What all that means is that you can have Lich running as admin when it's logging in, so it works, but your scripts won't be running as admin, which is good. So, if you've set Ruby to run as admin, undo that (if you're going to try out this version). Of course, it's Windows, so it probably won't work at all.

The hardest part of this issue is that it never appears on any of my virtual machines for any version of Windows. So, I'm really just making educated guesses rather than the normal testing, discovering the cause, fixing it, and testing the solution.

The five launch methods are:

ShellExecute open Launcher
ShellExecuteEx runas Launcher
ShellExecuteEx runas Ruby/Lich => ShellExecute open Launcher
ShellExecuteEx runas Ruby/Lich => ShellExecuteEx runas Launcher
spawn Launcher

runas means that the process should be started as admin.
spawn is just a simple Ruby method that works on operating systems that aren't terrible.

If you try out this version, please post what methods failed and worked, and if Ruby and/or the Simu Launcher were set to always run as admin, and how many UAC prompts you had to click.

Triex
04-04-2016, 06:44 PM
Success! :spin:

I uninstalled Cairo, downloaded lich 4.6.32.rbw, and overwrote my copy of lich.rbw with 4.6.32 (after creating a backup copy of the original).

Having done that, everything was back to normal; the lich client loaded up and I was able to login.

Appreciate you resolving this issue so quickly. Thanks Tillmen.

Essdil
04-06-2016, 03:29 PM
I can't log on. It cycles through the 5 methods, but never opens another window.


Success! :spin:

I uninstalled Cairo, downloaded lich 4.6.32.rbw, and overwrote my copy of lich.rbw with 4.6.32 (after creating a backup copy of the original).

Having done that, everything was back to normal; the lich client loaded up and I was able to login.

Appreciate you resolving this issue so quickly. Thanks Tillmen.

MzFit Toy
10-12-2016, 08:01 PM
*sigh* Okay, so new PC laptop. I've installed lich on three laptops in the past, no issues. This time, I'm getting the gtk2/cairo issue. Tried it your way the first time, didn't do anything. Removed everything, reinstalled everything, checked the PATH box, did it the second way, didn't do anything. What am I doing wrong before I throw this %#@&ing thing against the @#&$ing wall? I've been trying to install lich for 3 hours now, and I'm seriously about to cancel my subscriptions and say to hell with it. LOL Just a tad bit frustrated...

MzFit Toy
10-12-2016, 09:53 PM
*sigh* Okay, so new PC laptop. I've installed lich on three laptops in the past, no issues. This time, I'm getting the gtk2/cairo issue. Tried it your way the first time, didn't do anything. Removed everything, reinstalled everything, checked the PATH box, did it the second way, didn't do anything. What am I doing wrong before I throw this %#@&ing thing against the @#&$ing wall? I've been trying to install lich for 3 hours now, and I'm seriously about to cancel my subscriptions and say to hell with it. LOL Just a tad bit frustrated...



Had an issue with the https://rubygems.org site, so this was the workaround.

c:\ruby200\bin\gem.bat uninstall cairo
c:\ruby200\bin\gem.bat install -N -s http://rubygems.org cairo -v 1.14.3
c:\ruby200\bin\gem.bat install -N -s http://rubygems.org gtk2 -v 2.2.5