shlomif / PySolFC

A comprehensive, feature-rich, open source, and portable, collection of Solitaire games.
http://pysolfc.sourceforge.net/
GNU General Public License v3.0
462 stars 105 forks source link

Unable to use Solver - Option greyed out in Menu #73

Closed BlohoJo closed 6 years ago

BlohoJo commented 6 years ago

I'm on Windows 7.

From this page:

http://fc-solve.shlomifish.org/download.html

It directs users to http://pysolfc.sourceforge.net/ to install this as the "recommended graphical front-end for Freecell Solver that people have prepared".

After installing this, the "Solver" option from the "Assist" menu is greyed out and unavailable.

greyed

According to the PySolFC page linked above, "Note that the solvers (for FreeCell/etc.) are not installed as part of it yet, but they are available separately."

The problem is that there is no documentation anywhere that I can find that explains or instructs how to install Freecell Solver so that it works with PySolFC and enables the option from the "Assist" menu. It's not in PySolFC's Help menu and not mentioned anywhere on the PySolFC Sourceforge site, and it's not mentioned in the FAQ on the Freecell Solver site.

The closest thing I could find that comes to any kind of configuration instructions is here: http://fc-solve.shlomifish.org/pysol/

"The contents of this page have become largely irrelevant with the more recent development of PySolFC and its integration with Freecell Solver. The PySolFC developers took a different approach than mine and relied on calling the fc-solve executable for solving the layouts of the Solitaire games. Nevertheless, it's a valid approach and Freecell Solver works beautifully there."

This implies that the solver executable is "called"... I installed Freecell Solver 32 bit and it adds the environment path to its binary directory to the system. I rebooted and verified that fc-solve.exe is available in a command prompt. Yet the "Solver" option is still greyed out in PySolFC's menu. I also tried copying the contents of the bin directory for Freecell Solver into the PySolFC directory, and still "Solver" is greyed.

Trying to wrap my head around and understand why install / configuration instructions are not posted anywhere.

Unless this is a bug?

Please, can someone explain how to "call the fc-solve executable for solving the layouts of the Solitaire games" ?

shlomif commented 6 years ago

On Wed, 11 Apr 2018 21:17:52 +0000 (UTC) BlohoJo notifications@github.com wrote:

I'm on Windows 7.

From this page:

http://fc-solve.shlomifish.org/download.html

It directs users to http://pysolfc.sourceforge.net/ to install this as the "recommended graphical front-end for Freecell Solver that people have prepared".

hi!

Please try either downloading the .exe from https://ci.appveyor.com/project/shlomif/pysolfc/build/1.0.144/artifacts or alternatively using the web-based solver at http://fc-solve.shlomifish.org/js-fc-solve/text/ . This should be fixed in the next stable release - see https://github.com/shlomif/PySolFC/issues/72 .

--

Shlomi Fish http://www.shlomifish.org/ http://is.gd/htwEXQ - Integrating GNU Guile into GNU coreutils

If you have the same ideas as everybody else, but have them one week earlier than everyone else — then you will be hailed as a visionary. But if you have them five years earlier, you will be named a lunatic. ( Barry Jones )

Please reply to list if it's a mailing list post - http://shlom.in/reply .

BlohoJo commented 6 years ago

Hey! :) Thanks for the super fast reply! :D

So it's a bug!

I tried downloading the .exe from your link, and now the Solver dialog is available!

It is buggy though. :\

When typing a number into the "Max iterations" field, the solitaire game changes. Sometimes the whole program crashes!

All the presets work, except for "the-last-mohican", which crashes PySolFC.

Here are the logs from the above crashes:

Traceback (most recent call last):
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1538, in __call__
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 13, in _OnAssignToMaxIters
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 358, in get
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\projects\pysolfc\pysollib\app.py", line 558, in mainproc
  File "C:\projects\pysolfc\pysollib\app.py", line 710, in runGame
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1125, in mainloop
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1542, in __call__
AttributeError: 'IntVar' object has no attribute '_report_exception'
Traceback (most recent call last):
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1538, in __call__
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 13, in _OnAssignToMaxIters
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 358, in get
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\projects\pysolfc\pysollib\app.py", line 558, in mainproc
  File "C:\projects\pysolfc\pysollib\app.py", line 710, in runGame
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1125, in mainloop
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1542, in __call__
AttributeError: 'IntVar' object has no attribute '_report_exception'
Traceback (most recent call last):
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1538, in __call__
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 13, in _OnAssignToMaxIters
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 358, in get
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\projects\pysolfc\pysollib\app.py", line 558, in mainproc
  File "C:\projects\pysolfc\pysollib\app.py", line 710, in runGame
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1125, in mainloop
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1542, in __call__
AttributeError: 'IntVar' object has no attribute '_report_exception'
Traceback (most recent call last):
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1538, in __call__
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 13, in _OnAssignToMaxIters
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 358, in get
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\projects\pysolfc\pysollib\app.py", line 558, in mainproc
  File "C:\projects\pysolfc\pysollib\app.py", line 710, in runGame
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1125, in mainloop
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1542, in __call__
AttributeError: 'IntVar' object has no attribute '_report_exception'
Traceback (most recent call last):
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1538, in __call__
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 13, in _OnAssignToMaxIters
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 358, in get
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\projects\pysolfc\pysollib\app.py", line 558, in mainproc
  File "C:\projects\pysolfc\pysollib\app.py", line 710, in runGame
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1125, in mainloop
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1542, in __call__
AttributeError: 'IntVar' object has no attribute '_report_exception'
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1538, in __call__
  File "C:\projects\pysolfc\pysollib\tile\tkwidget.py", line 228, in <lambda>
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 120, in mDone
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 179, in startSolving
AttributeError: 'FreeCellSolver_Hint' object has no attribute 'solver_state'
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\PYTHON34\lib\tkinter\__init__.py", line 1538, in __call__
  File "C:\projects\pysolfc\pysollib\tile\tkwidget.py", line 228, in <lambda>
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 120, in mDone
  File "C:\projects\pysolfc\pysollib\ui\tktile\solverdialog.py", line 179, in startSolving
AttributeError: 'FreeCellSolver_Hint' object has no attribute 'solver_state'

Thanks again for the reply. ;)

shlomif commented 6 years ago

On Thu, 12 Apr 2018 05:17:39 +0000 (UTC) BlohoJo notifications@github.com wrote:

Hey! :) Thanks for the super fast reply! :D

you are welcome.

So it's a bug!

I tried downloading the .exe from your link, and now the Solver dialog is available!

It is buggy though. :\

When typing a number into the "Max iterations" field, the solitaire game changes. Sometimes the whole program crashes!

All the presets work, except for "the-last-mohican", which crashes PySolFC.

Here are the logs from the above crashes:

Thanks for testing - I'll try to investigate these problem. Note that the-last-mohican preset is intended only for Simple Simon - see http://fc-solve.shlomifish.org/docs/distro/USAGE.html , but it should be handled more gracefully.

--

Shlomi Fish http://www.shlomifish.org/ Why I Love Perl - http://shlom.in/joy-of-perl

One of my most productive days was throwing away 1,000 lines of code. — Ken Thompson (Attributed)

Please reply to list if it's a mailing list post - http://shlom.in/reply .

shlomif commented 6 years ago

Please try again with https://ci.appveyor.com/project/shlomif/pysolfc/build/1.0.146/artifacts

shlomif commented 6 years ago

Should be fixed. Closing.