Closed GoogleCodeExporter closed 9 years ago
Hi Varun!
The .so files are so called endgame tablebase probing code, compiled myself.
The sources are here:
https://sites.google.com/site/gaviotachessengine/download (tbprobe-0.4.zip at
bottom of page)
and the license is MIT.
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1
It was my attempt to help people to easy install (without compilation etc.)
this lib, but I think I will leave them out from RC and final releases. PyChess
was always pure Python stuff from the beginning, and producing correct arch
dependent .rpm and .deb is above of my knowledge.
If you plan to update the official packages soon, I can remove the affected
code from setup.py and make a new beta3. (The final 0.12 will be released
probably in next month.)
Btw. don't you interested to adopt and make official .deb packages from it?
Many chess engines can use Gaviota tablebases for 3-4-5 man endgames.
If you are interested, there is another, new competitor from Ronald de Man (up
to 6 man endgames) here:
https://github.com/syzygy1/tb
Original comment by gbtami
on 31 May 2013 at 9:24
Hi,
I see that the tablebase probing code is under MIT license, but are the table
base files *.gtb.cp4 also under the same license? In any case, Debian requires
all binary files to be built from source so we can't direcly include the .so
files.
It would actually be good to not include theses files in the sources. pychess
being pure python is arch independent; adding these files will make it arch
dependent. Debian supports many archs -- does gaviota code work/build on all
archs?
Sorry I currently don't have much time to spend packaging these tablebase
projects. Do you know of any other chess related package in Debian/Ubuntu that
uses these endgame tablebase files? I would be interested in knowing how they
handle these. I am not too familiar with these files.
Thanks,
Varun
Original comment by varunhir...@gmail.com
on 1 Jun 2013 at 4:02
I asked Miguel on talkcess, here is hes response:
"Hi Bajusz,
Very glad you are including this to PyChess!
I thought the files *.cp4 did not need a license, but I can explicitly say they
are under the MIT license if needed. Of course my intention was to share them.
The probing code is as a portable as we can possible have and should be
architecture independent. I wrote it in standard C89 + a couple of POSIX
instruction (mutex etc.). I think that if a machine has a GCC, it should
compile with no problem. The compressing software that is included is
compatible with MIT license and should compile with no problem (they are zlib,
7z, etc.).
I think that the best solution is that Debian distributes the .so library
separately. That will certainly benefit other projects, like GNUChess 5.5.
Michel Vanderbergh (his maintainer) will be very happy about it, and it
suggested it to me a while ago (do not confuse it with GNUChess 6.0).
There are other opensource programs that would benefit from it too, like Umko.
This is not a comprehensive list
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1
Miguel"
Original comment by gbtami
on 1 Jun 2013 at 8:34
Hi Bajusz,
If Miguel is providing all the files in MIT license (and if he can mention this
somewhere on the project webpage), I can try to package the Gaviota library for
Debian.
Then PyChess and other engines could you it.
Thanks,
Varun
Original comment by varunhir...@gmail.com
on 2 Jun 2013 at 2:42
He added the license here:
https://sites.google.com/site/gaviotachessengine/license
and here:
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1
"Probing tablebases from your own program
The Gaviota Tablebases can be probed from your own program (engine or
interface). The code needed to do this has been released under the liberal MIT
license, so basically anybody can use it with almost no restrictions. The
tablebase files themselves, compressed (*.gtb.cp?) and uncompressed (*.gtb)
are also distributed under the MIT license. The latest release of the probing
code (with the program example tbprobe) can be downloaded from the download
page (look for TB probing code). Alternatively, it could be downloaded directly
from the Git Hub Gaviota Tablebases repository."
Original comment by gbtami
on 2 Jun 2013 at 7:20
Hi Bajusz,
I have create preliminary packages for the gaviota tablebase library. The debs
(only for i386 arch) can be found on my homepage here:
http://people.debian.org/~varun/
If you have access to some i386 machine running Debian or Ubuntu, could you
please install and check if these libraries work with PyChess? The main shared
object is in the libgaviotatb1_0.4-1_i386.deb and the database files are
provided in gaviotatb_0.4-1_all.deb. The header files and the static library
are in libgaviotatb-dev_0.4-1_i386.deb.
Thanks,
Varun
Original comment by varunhir...@gmail.com
on 3 Jun 2013 at 2:41
On i386 Squeeze in Python console:
>>> from ctypes import CDLL
>>> CDLL("libgaviotatb.so.1.0.1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/ctypes/__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/libgaviotatb.so.1.0.1: undefined symbol: z_uncompress
Another question regarding gaviotatb_04-1_all.deb, what size can be a database
.deb package? I'm asking this, koz packaging only 3-man tablebase files is only
a minimum version of the tb files. The full tablebase (containing all 3-4-5 man
files) is about 6.6 gigabytes.
Original comment by gbtami
on 3 Jun 2013 at 5:12
Hi Bajusz,
Could you please try installing the packages again? There were some linking
issues with the zlib library, so I have updated the packages. The CDLL works
for me know. (I am not using the zlib library included with the gaviota
sources. I link to the zlib library available in Debian.)
I'm not yet sure if the database package will be accepted into Debian as the
*.gtb files are generated with a gaviota program which itself is not fully
opensource -- so I will need to check. However, if it gets accepted, I could
include some more databases in that package. I don't know if there is any upper
limit on the package size -- again I will need to check.
Thanks,
Varun
Original comment by varunhir...@gmail.com
on 4 Jun 2013 at 1:32
Hi Varun!
Updated the packages and it works now on my i386 Debian!
I removed gaviota *.so and *.cp4 files from our sources, so you can test
your new packages too. I attach a simple 0.pgn for test. It ends in a KPK
position, so if Hints panel is enabled in preferences-sidepanels, and egtb
is enabled in preferences-hints, and the egtb data files path is set too,
you have to see some lose/draw/win statistics.
Original comment by gbtami
on 4 Jun 2013 at 1:26
Original comment by gbtami
on 4 Jun 2013 at 1:32
Hi Bajusz,
Yes, I see some statistics being displayed in the Hints window when I set the
EGTB path in your example game.
So I will cleanup the gaviota packages and upload them to Debian in a day or
two. Since this is a new package, its license will be manually checked by
certain people. Meanwhile, I have contacted debian-legal to check if I can
include the *.gtb database files in a debian package and am waiting to hear
from them. I will keep you posted on this.
Thanks,
Varun
Original comment by varunhir...@gmail.com
on 5 Jun 2013 at 2:30
Hi Varun!
Just got a reply from Miguel that he willing to decouple the TB generator
code from Gaviota engine, if this step really needed, and release the
generator under MIT license too.
Of course this takes some time. We will see what debian-legals say.
Original comment by gbtami
on 5 Jun 2013 at 7:52
Hi Bajusz,
I contacted debian-legal:
http://lists.debian.org/debian-legal/2013/06/msg00007.html and somebody
suggested that it should be OK to include the database files in Debian/main,
but I am not yet 100% sure. I have uploaded the Gaviota package to Debian and
if the package gets accepted then we are good. It is waiting in the new queue:
http://ftp-master.debian.org/new.html
Else it would be good if Miguel could release the TB generator code also under
the MIT license.
Thanks,
Varun
Original comment by varunhir...@gmail.com
on 8 Jun 2013 at 7:46
Varun, thanks!
Original comment by gbtami
on 8 Jun 2013 at 8:12
Hi Bajusz,
Just an update: gaviota got accepted into Debian, so I can now package pychess.
http://packages.qa.debian.org/g/gaviotatb.html
Thanks,
Varun
Original comment by varun.ml...@gmail.com
on 24 Jul 2013 at 8:47
[deleted comment]
Thank you very much! Do you got any info about package size limit you talked
about in comment #8?
Btw. I plan to do the beta3 release this week.
Original comment by gbtami
on 24 Jul 2013 at 9:36
I haven't yet checked about the package size. We should be able to include a
few more files - say up to 10-20 MB, but it may be better to provide a simple
script in the package for the users to run and download the required databases
themselves if needed. I will think about this.
Original comment by varun.ml...@gmail.com
on 24 Jul 2013 at 9:41
Original comment by gbtami
on 8 Aug 2013 at 7:07
Hi Bajusz,
I didn't get much time to work on this, but have updated the pychess package in
Debian to 12 beta3. Hopefully it is working fine.
If you would like me to include some more gaviota database files, I can do it
in the next release. Alternatively, I was think you could add an option in the
pychess GUI to let the user download extra databases if needed (through a
script in the background).. or we could provide an extra script in the gaviota
package to do the same.
I just think including all the databases in one single package may discourage
people from installing it (and pychess which will depend on this package).
Varun
Original comment by varun.ml...@gmail.com
on 8 Aug 2013 at 1:41
It would be cool to have such a script in gaviotatb package, koz it can put the
additional downloaded table files where they belongs to
(/usr/share/gaviotatb/). If this is not possible we can add a GUI option of
course.
Original comment by gbtami
on 8 Aug 2013 at 2:06
Original issue reported on code.google.com by
varunhir...@gmail.com
on 31 May 2013 at 2:35