Chess under Linux

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Norbert Raimund Leisner
Posts: 1643
Joined: Tue May 20, 2008 4:57 pm
Location: Augsburg - Germany

Chess under Linux

Post by Norbert Raimund Leisner »

Hello,

the French website "Jouer aux échecs sous Linux" describes several
well-known software and chess interfaces.

I replaced therefore an obsolete website from Belgium on CCWiki " Linux Engine List" by http://grawok.wordpress.com/2011/12/11/ ... ous-linux/

Some other distributions -except of Jim´s great collection- are for example:

CSBoard http://csboard.berlios.de/

Kaya http://paolocapriotti.com/kaya/

Scidb http://scidb.sourceforge.net/index.html

Perhaps someone of you can make Linux compiles from these source codes. Hosting them on ComputerChess Wikipedia would be no problem.

Best wishes,
Norbert
lucasart
Posts: 3243
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Chess under Linux

Post by lucasart »

Norbert Raimund Leisner wrote:Hello,

the French website "Jouer aux échecs sous Linux" describes several
well-known software and chess interfaces.

I replaced therefore an obsolete website from Belgium on CCWiki " Linux Engine List" by http://grawok.wordpress.com/2011/12/11/ ... ous-linux/

Some other distributions -except of Jim´s great collection- are for example:

CSBoard http://csboard.berlios.de/

Kaya http://paolocapriotti.com/kaya/

Scidb http://scidb.sourceforge.net/index.html

Perhaps someone of you can make Linux compiles from these source codes. Hosting them on ComputerChess Wikipedia would be no problem.

Best wishes,
Norbert
That's not how things work in the Linux world. Typically on a Linux distribution, you install software either:
(i) using a package manager, so you use the repo of your distro (or other "unofficial" repos if you configure them)
(ii) download the source code and compile it. there are some tools to make that really easy (make install).

You never download an executable and "install" it manually. This is so... Windows...

The problem is that to make a software available for (i) it has to be integrated in the repo of main distros (ie. Debian and Fedora). And creating packages is a whole different skill to writing code, and to get repo maintainers to validate them is often such a complex and bureaucratic process, that most people give up, and distribute their program as source code only. And the end user just needs to compile himself (ii).
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
hgm
Posts: 28519
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess under Linux

Post by hgm »

For XBoard we make use of an 'Open Build Server', which apparently is able to generate binary packages for all kind of distros from source code and a well-written Makefile.am. Arun Persaud is the one that does this, so I know little of the details.

But in principle, when the Makefile contains enough information to precisely specify what it has to do on 'make install', it should be possible to generate a package from it that does exactly the same, starting from some intermediate steps in the full process (i.e. after ./configure and make). So the art is mainly to prepare the input data for the autoconf / automake process well.

In Linux it is in general not possible to distribute binaries that work on all Linux system (even if they are all for the same hardware architecture; binaries for i386 would obviously never work on an ARM machine). Binaries almost always are dynamically linked to libraries at some level, and the different distros do not offer the same library services. Even within a distro, users typically have a large choice which set of libraries they use. This is why you need the ./configure step, which figures out what the current system exactly supports, chooses the best alternative if there is a choice, or complains when essential support is lacking, and generates a Makefile specifically for that distro / configuration that can be used to compile and link with the available libraries.

A binary package is by nature distro specific, and the configuration problem is solved by making the choice for alternatives when the package is created, and then recording it in the package as a 'dependency' that forces loading of the packages for the infrastructure you assumed to be present when it was not yet installed (if you install it through the package manager). If you install a package by hand, without paying attention to the dependencies, you will get run-time errors (e.g. complaints that a library could not be found), and the binary will refuse to run.
jjh13
Posts: 110
Joined: Sat Feb 20, 2010 1:11 pm
Location: Finland

Re: Chess under Linux

Post by jjh13 »

lucasart wrote: That's not how things work in the Linux world. Typically on a Linux distribution, you install software either:
(i) using a package manager, so you use the repo of your distro (or other "unofficial" repos if you configure them)
For Debian and Ubuntu there are also sometimes separately downloadable .deb files for your platform that you download, open, click OK and have it installed.
lucasart wrote: (ii) download the source code and compile it. there are some tools to make that really easy (make install).

You never download an executable and "install" it manually. This is so... Windows...
Never say never. There are some programs that do it almost like that. You download the .zip file, uncompress it where you want and execute the included install.sh script. There are also some programs with a compiled binary file that you just put where you want it and then execute it. And they worked fine.
jdart
Posts: 4441
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Chess under Linux

Post by jdart »

What you say about Linux binaries is true, but still it is possible to make a binary that will work on most recent-vintage systems.

I distribute Linux binaries for Arasan (http://www.arasanchess.org), but there is source code too. I used to build a RPM package, too but I don't do that anymore.

Other engines with binary distributions for Linux include Gaviota (https://sites.google.com/site/gaviotach ... e/releases) and Octochess (http://octochess.org/).

--Jon
User avatar
hgm
Posts: 28519
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess under Linux

Post by hgm »

Engines are simple console programs that need very little library support. But the original poster was talking about GUIs...
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Chess under Linux

Post by Don »

lucasart wrote:
Norbert Raimund Leisner wrote:Hello,

the French website "Jouer aux échecs sous Linux" describes several
well-known software and chess interfaces.

I replaced therefore an obsolete website from Belgium on CCWiki " Linux Engine List" by http://grawok.wordpress.com/2011/12/11/ ... ous-linux/

Some other distributions -except of Jim´s great collection- are for example:

CSBoard http://csboard.berlios.de/

Kaya http://paolocapriotti.com/kaya/

Scidb http://scidb.sourceforge.net/index.html

Perhaps someone of you can make Linux compiles from these source codes. Hosting them on ComputerChess Wikipedia would be no problem.

Best wishes,
Norbert
That's not how things work in the Linux world. Typically on a Linux distribution, you install software either:
(i) using a package manager, so you use the repo of your distro (or other "unofficial" repos if you configure them)
(ii) download the source code and compile it. there are some tools to make that really easy (make install).

You never download an executable and "install" it manually. This is so... Windows...

The problem is that to make a software available for (i) it has to be integrated in the repo of main distros (ie. Debian and Fedora). And creating packages is a whole different skill to writing code, and to get repo maintainers to validate them is often such a complex and bureaucratic process, that most people give up, and distribute their program as source code only. And the end user just needs to compile himself (ii).
There is a simple tool that makes it easy called checkinstall. It will create redhat style packager or debian style. It will watch carefully what happens when you run "make install" and create a package that does the same thing.

It will also work with your own install script - so even if you just build a script which installs a binary it will "see" what you are doing and build a package that does the same exact thing.

It is probably not quite as comprehensive as doing it "right" but for simple project such as chess programs with perhaps a book and configuration file included it is superbly convenient if you are not willing to learn how to build a package.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
MikeGL
Posts: 1010
Joined: Thu Sep 01, 2011 2:49 pm

Re: Chess under Linux

Post by MikeGL »

jjh13 wrote:
lucasart wrote: That's not how things work in the Linux world. Typically on a Linux distribution, you install software either:
(i) using a package manager, so you use the repo of your distro (or other "unofficial" repos if you configure them)
For Debian and Ubuntu there are also sometimes separately downloadable .deb files for your platform that you download, open, click OK and have it installed.
lucasart wrote: (ii) download the source code and compile it. there are some tools to make that really easy (make install).

You never download an executable and "install" it manually. This is so... Windows...
Never say never. There are some programs that do it almost like that. You download the .zip file, uncompress it where you want and execute the included install.sh script. There are also some programs with a compiled binary file that you just put where you want it and then execute it. And they worked fine.
Im new to Linux but it seems:
With .deb files it's impossible to install the binaries in your /$HOME directory or your personal directories where you won't need root(admin) privilege. I need to sudo here and there with .deb files, I wonder if there are ways where you just put your new programs in your personal directories without installing them into /usr/bin or /opt directories.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Chess under Linux

Post by Don »

MikeGL wrote:
jjh13 wrote:
lucasart wrote: That's not how things work in the Linux world. Typically on a Linux distribution, you install software either:
(i) using a package manager, so you use the repo of your distro (or other "unofficial" repos if you configure them)
For Debian and Ubuntu there are also sometimes separately downloadable .deb files for your platform that you download, open, click OK and have it installed.
lucasart wrote: (ii) download the source code and compile it. there are some tools to make that really easy (make install).

You never download an executable and "install" it manually. This is so... Windows...
Never say never. There are some programs that do it almost like that. You download the .zip file, uncompress it where you want and execute the included install.sh script. There are also some programs with a compiled binary file that you just put where you want it and then execute it. And they worked fine.
Im new to Linux but it seems:
With .deb files it's impossible to install the binaries in your /$HOME directory or your personal directories where you won't need root(admin) privilege. I need to sudo here and there with .deb files, I wonder if there are ways where you just put your new programs in your personal directories without installing them into /usr/bin or /opt directories.
You can try something like this:

dpkg -i --force-not-root --root=$HOME package_to_install.deb

It's not guaranteed to work but it often will. But first create your own ~/bin directory and include it in your PATH

Don
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
MikeGL
Posts: 1010
Joined: Thu Sep 01, 2011 2:49 pm

Re: Chess under Linux

Post by MikeGL »

Don wrote:
MikeGL wrote:
jjh13 wrote:
lucasart wrote: That's not how things work in the Linux world. Typically on a Linux distribution, you install software either:
(i) using a package manager, so you use the repo of your distro (or other "unofficial" repos if you configure them)
For Debian and Ubuntu there are also sometimes separately downloadable .deb files for your platform that you download, open, click OK and have it installed.
lucasart wrote: (ii) download the source code and compile it. there are some tools to make that really easy (make install).

You never download an executable and "install" it manually. This is so... Windows...
Never say never. There are some programs that do it almost like that. You download the .zip file, uncompress it where you want and execute the included install.sh script. There are also some programs with a compiled binary file that you just put where you want it and then execute it. And they worked fine.
Im new to Linux but it seems:
With .deb files it's impossible to install the binaries in your /$HOME directory or your personal directories where you won't need root(admin) privilege. I need to sudo here and there with .deb files, I wonder if there are ways where you just put your new programs in your personal directories without installing them into /usr/bin or /opt directories.
You can try something like this:

dpkg -i --force-not-root --root=$HOME package_to_install.deb

It's not guaranteed to work but it often will. But first create your own ~/bin directory and include it in your PATH

Don
Thanks for this great tip. Will try this trick.