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
Chess under Linux
Moderator: Ras
-
Norbert Raimund Leisner
- Posts: 1643
- Joined: Tue May 20, 2008 4:57 pm
- Location: Augsburg - Germany
-
lucasart
- Posts: 3243
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Chess under Linux
That's not how things work in the Linux world. Typically on a Linux distribution, you install software either: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
(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.
-
hgm
- Posts: 28519
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess under Linux
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.
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
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: 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)
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.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...
-
jdart
- Posts: 4441
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Chess under Linux
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
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
-
hgm
- Posts: 28519
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess under Linux
Engines are simple console programs that need very little library support. But the original poster was talking about GUIs...
-
Don
- Posts: 5106
- Joined: Tue Apr 29, 2008 4:27 pm
Re: Chess under Linux
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.lucasart wrote:That's not how things work in the Linux world. Typically on a Linux distribution, you install software either: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
(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).
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
Im new to Linux but it seems:jjh13 wrote: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: 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)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.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...
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.
-
Don
- Posts: 5106
- Joined: Tue Apr 29, 2008 4:27 pm
Re: Chess under Linux
You can try something like this:MikeGL wrote:Im new to Linux but it seems:jjh13 wrote: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: 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)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.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...
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.
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
Thanks for this great tip. Will try this trick.Don wrote:You can try something like this:MikeGL wrote:Im new to Linux but it seems:jjh13 wrote: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: 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)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.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...
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.
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