[Solar-general] solucionado: robbolito andando en GNU/Linux con pychess
Marcos Germán Guglielmetti
marcos en ovejafm.com
Jue Nov 18 01:51:22 CET 2010
On Wednesday 17 November 2010 21:13:56 Marcos Germán Guglielmetti wrote:
> On Wednesday 17 November 2010 17:58:52 Javier Villalba wrote:
> > >che no hay caso
> > >
> > >tanto descargando el binario como compilando desde el source, no logro
> > > hacerlo andar con ninguna GUI, pq no sé cómo hacerlo y no hay
> > > explicaciones en ningún lado, ni en la doc en HD ni en Internet....
> > >
> > >en qué path pongo el binario?
> >
> > Digo lo mismo busque por todos lados no encontre...
> > Dice que puede funcionar en Gnu/Linux pero no dice como compilarlo
>
> compilarlo es tan simple como escribir make
>
> ya lo hice y lo crea sin dar errores
>
> otros motores de ajedrez tienen cosas en (por ejemplo fruit):
>
> ls /usr/share/games/fruit/
> book_small.bin
>
>
> o stockfish tiene su binario acá:
>
> /usr/games/stockfish
>
>
> pienso que quizá simplemente tengamos que saber COMO AGREGAR el binario de
> robbolito a X GUI, cosa de que lo tenga en cuenta...
>
> pero no veo de dónde agregar los motores en las GUI
>
> los toman automáticamente
>
> acá encontré algo importante
>
> ~/.config/pychess$
>
> el tema es que el xml que hay que editar parece bastante complejo por cada
> engine, ejemplo:
>
>
> <engine binname="toga2" protocol="uci" protover="1" recheck="false">
> <meta><country>de</country><name>Toga II
> 1.4.1SE</name><author>Thomas Gaksch and Fabien
> Letouzey</author></meta><path>/usr/games/toga2</path><md5>58af35c04bd791dd4
>705574dae7e457b</md5><args /><options><check-option default="False"
> name="Ponder" /><spin-option default="1700" max="3000" min="500" name="Toga
> King Safety Margin" /><string-option
> default="/usr/share/egbb/" name="Bitbases Path" /><string-option
> default="performance.bin" name="BookFile" /><combo-option default="Always"
> name="NullMove Pruning"><var name="Always" /><var name="Fail High" /><var
> name="Never" /></combo-option><spin-option default="100" max="400" min="0"
> name="King Safety" /><spin-option default="100" max="400" min="0"
> name="Pawn Structure" /><spin-option default="5" max="6" min="1"
> name="Verification Reduction" /><spin-option default="70" max="100" min="0"
> name="History Threshold" /><spin-option default="16" max="1024" min="16"
> name="Bitbases Cache Size" /><spin-option default="0" max="3600" min="0"
> name="Search Time" /><check-option default="True" name="Delta Pruning"
> /><spin-option default="0" max="20" min="0" name="Search Depth"
> /><spin-option default="100" max="500" min="0" name="Futility Margin"
> /><spin-option default="16" max="1024" min="4" name="Hash" /><spin-option
> default="100" max="400" min="0" name="Material" /><check-option
> default="True" name="History
> Pruning" /><check-option default="True" name="OwnBook" /><check-option
> default="False" name="Toga King Safety" /><spin-option default="3" max="4"
> min="1" name="NullMove Reduction" /><spin-option default="50" max="500"
> min="0" name="Delta Margin" /><spin-option default="200" max="900" min="0"
> name="Extended Futility Margin" /><spin-option default="1" max="16" min="1"
> name="Number of Threads" /><spin-option default="100" max="400" min="0"
> name="Piece Square Activity" /><combo-option default="Always"
> name="Verification Search"><var name="Always" /><var name="Endgame" /><var
> name="Never" /></combo-option><check-option default="True" name="Toga Lazy
> Eval" /><spin-option default="1" max="10" min="1"
> name="MultiPV" /><spin-option default="100" max="400" min="0" name="Piece
> Activity" /><spin-option default="100" max="400" min="0" name="Passed
> Pawns" /><spin-option default="200" max="900" min="0" name="Toga Lazy Eval
> Margin" /><check-option default="False" name="Toga Extended History
> Pruning" /><check-option default="True" name="Futility
> Pruning" /><spin-option default="1" max="2" min="0" name="Quiescence Check
> Plies" /></options></engine>
> </engines>
>
>
>
>
> por ahí si uso eso como ejemplo y le cambio lo básico para robbolito, por
> ahí sale andando....
>
> > nada que
> > garcha :( Se preocuparon más hacer el exe de porqueria para Windows que
> > algo para Gnu/Linux
Eh!!!
buenas noticias!!
:D
lo logré hacer andar creando una entrada en engines.xml del pychess
<engine binname="robbolito0085g3l-x86-gcc" protocol="uci" protover="1"
recheck="false">
<meta><country>de</country><name>robbolito0085g3l-x86-gcc</name><author>No lo
se</author></meta><path>/usr/games/robbolito0085g3l-x86-gcc</path><md5>3c888a407d88722557c71e7603155968</md5></engine>
con eso lo cargó bien y ya están jugando robbolito contra stockfish
si bien robbolito no soporta varios CPUs, lo caga a palos a stockfish, al
menos en todas las partidas que probé hasta ahora le ganó...
en fin, copado :D
Ahora hago un howto sencillo sobre cómo descargar, compilar robbolito y
agregarlo a pychess y lo publico en el blog...
ya está:
http://marcospcmusica.wordpress.com/2010/11/18/instalar-robbolito-en-gnulinux/
Como no hay instrucciones de instalación para GNU/Linux, al menos al día de la
fecha, publico aquí los pasos que seguí para instalar este poderosísimo motor
de ajedrez en mi sistema Musix GNU/Linux (derivado de Debian)
Vamos a utilizar la interface (GUI) pychess para poder jugar con el engine
Robbolito, así que primero por favor instalemos pychess, eso es fácil en
Debian, se hace con apt-get install pychess.
Luego descargamos el código fuente de Robbolito, que se encuentra en esta
página:
http://www.chesslogik.com/index.htm
Yo descargué esta versión:
http://www.chesslogik.com/downloads/RobboLito_0085g3l_x86.rar
Dado que rar es un formato cerrado y hay que usar software privativo para
descomprimirlo, lo liberé comprimiéndolo en un ZIP, y lo subí aquí:
http://musix.org.ar/etc/RobboLito_0085g3l_x86.zip
Bien, ustedes pueden descargarlo, entonces, con su navegador o desde una
consola de comandos con:
wget http://musix.org.ar/etc/RobboLito_0085g3l_x86.zip
luego lo descomprimen con:
unzip RobboLito_0085g3l_x86.zip
entran al directorio src y para compilarlo simplemente escriben:
make
eso creará el archivo binario robbolito0085g3l-x86-gcc . Ahora no lo recuerdo
bien, pero creo que lo hice ejecutable (dado que no venía con ese atributo)
con:
chmod +x robbolito0085g3l-x86-gcc
Luego lo copié a /usr/games con
cp robbolito0085g3l-x86-gcc /usr/games/
(todo esto como usuario root)
Lo que restaba era editar el archivo de configuración de pychess para que
tomara a robbolito como motor de ajedrez…
edité ~/config/pychess/engines.xml y agregué esta línea
<engine binname=”robbolito0085g3l-x86-gcc” protocol=”uci” protover=”1″
recheck=”false”>
<meta><country>de</country><name>robbolito0085g3l-x86-gcc</name><author>No lo
se</author></meta><path>/usr/games/robbolito0085g3l-x86-gcc</path><md5>3c888a407d88722557c71e7603155968</md5></engine>
Atención: ese md5sum es el que se produce en el binario de mi versión en mi
disco rígido, para ustedes puede ser diferente, en tal caso ejecuten:
md5sum /usr/games/robbolito0085g3l-x86-gcc
para saber qué número brinda, y luego crear esa línea en el archivo
engines.xml
Listo!
Cargan pychess y debería aparecer robbolito!
cualquier duda me dicen, saludos
Más información sobre la lista de distribución Solar-general