[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