Engine binary conflicts

11 views
Skip to first unread message

Bob Newell

unread,
Oct 21, 2018, 3:28:25 AM10/21/18
to PyChess People
I posted this as a bug but was (appropriately) rejected as not-a-bug. However, it is an issue that arose with the latest (0.99.3) PyChess.

PyChess detects chess engines. That's very cool. But sometimes binaries have the same name. So, for instance on my Antergos Linux system, PyChess is flagged as conflicting with mesa-demos and clingo, because mesa-demos contains a "fire" binary and clingo contains a binary that is also the same name as a chess engine. (One that wasn't flagged but could have been was sagemath for the same reason, the "sage" binary).

On Arch-based systems, at least, PyChess can't be installed unless the conflicting packages are first removed. But that starts a removal chain. For instance, removing mesa-demos would then require removing PlayOnLinux. This is not a good situation.

PyChess is just too good to pass up. It is the best chess playing/client program for Linux, and it's currently maintained. So I installed from source and edited out 'sage' and 'fire" from the list of searched-for chess engines. That's not an especially good solution, though, and requires reinstalling this mod with each new release.

I can think of two ways to fix this. One might be to examine binaries a little closer when found, to see if they are actually a chess engine, though that could be difficult and error-prone. Another way, at the expense of some user convenience, might be to ask the user if a certain binary is to be interpreted and used as a chess engine; if the answer is no, don't consider it again. There are downsides to this approach, too; you may add an engine later that really does conflict in name, or change your mind, or not recognize a name, etc.

Perhaps someone can find a better way, or maybe one of the above might work?

Tamás Bajusz

unread,
Oct 21, 2018, 4:06:27 AM10/21/18
to PyChess People
It's already fixed in git. It will be available in next release.
The solution was to mark engines with AUTO_DETECT only above 2750 Elo (with some exception). It would be help if you (or anyone interested) can take a look into https://github.com/pychess/pychess/blob/master/lib/pychess/Players/engineList.py and check our list for possible remaining issues.

Thx!
Reply all
Reply to author
Forward
0 new messages