yukarichess / yukari

Yukari (紫) chess engine
Other
3 stars 2 forks source link

Compiling failed (on Linux) #1

Closed tissatussa closed 1 week ago

tissatussa commented 1 week ago

I tried to compile the newest Trunk source but it failed :

~/Compiled/yukari-trunk$ cargo build --release
    Updating crates.io index
     Locking 82 packages to latest compatible versions
      Adding bitflags v1.3.2 (latest: v2.6.0)
      Adding clap v2.34.0 (latest: v4.5.21)
      Adding criterion v0.3.6 (latest: v0.5.1)
      Adding criterion-plot v0.4.5 (latest: v0.5.0)
      Adding half v1.8.3 (latest: v2.4.1)
      Adding hermit-abi v0.1.19 (latest: v0.4.0)
      Adding itertools v0.10.5 (latest: v0.13.0)
      Adding textwrap v0.11.0 (latest: v0.16.1)
      Adding unicode-width v0.1.14 (latest: v0.2.0)
      Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.3+wasi-0.2.2)
      Adding zerocopy v0.7.35 (latest: v0.8.10)
      Adding zerocopy-derive v0.7.35 (latest: v0.8.10)
  Downloaded proc-macro2 v1.0.89
  Downloaded once_cell v1.20.2
  Downloaded syn v2.0.87
  Downloaded libc v0.2.164
  Downloaded 4 crates (1.1 MB) in 0.34s
   Compiling proc-macro2 v1.0.89
   Compiling unicode-ident v1.0.13
   Compiling libc v0.2.164
   Compiling byteorder v1.5.0
   Compiling cfg-if v1.0.0
   Compiling tinyvec v1.8.0
   Compiling once_cell v1.20.2
   Compiling quote v1.0.37
   Compiling syn v2.0.87
   Compiling getrandom v0.2.15
   Compiling rand_core v0.6.4
   Compiling zerocopy-derive v0.7.35
   Compiling zerocopy v0.7.35
   Compiling ppv-lite86 v0.2.20
   Compiling rand_chacha v0.3.1
   Compiling rand v0.8.5
   Compiling yukari-movegen v0.1.0 (/home/roelof/Compiled/yukari-trunk/yukari-movegen)
error: `Option::<T>::expect` is not yet stable as a const fn
   --> yukari-movegen/src/board/data.rs:105:9
    |
105 |         self.piecemask.piece(bit).expect("piece index corresponds to invalid piece")
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: could not compile `yukari-movegen` (lib) due to 1 previous error

I'm on Linux, Xubuntu 22.04 Can you correct the error ?

yukarichess commented 1 week ago

Option::expect was const-stabilised in Rust 1.83. That presently means you need a beta or nightly rust version. but it'll compile soon.

yukarichess commented 1 week ago

(this was also fixed in #2)

tissatussa commented 1 week ago

@yukarichess i managed to set Rust Nightly and now compilation went well. I get a valid binary of 4.5 Mb and it plays fine in CuteChess.

I discovered this engine uses the XBoard protocol, you could mention that in the README. Maybe also explain its options and how to (not) set them :

xboard-options

Do you have any idea how strong this engine is ? Later i might post game(s) here and estimate its rating.

tissatussa commented 5 days ago

Last few days i let Yukari v0.1.0 play several (mostly) 5m+3s games against other engines about the same strength. Here's the list : Yukari-games.zip

Yukari-game-results

Ratings are from the newest CCRL lists. Some engines are not mentioned there, i gave my estimate. I guess Yukari's rating is about 2350.

yukarichess commented 3 days ago

With the recent switch to NNUE, you might want to retest. My own testing puts it about 2800 now:

Score of Yukari vs Stash22: 402 - 302 - 296  [0.550] 1000
...      Yukari playing White: 209 - 151 - 140  [0.558] 500
...      Yukari playing Black: 193 - 151 - 156  [0.542] 500
...      White vs Black: 360 - 344 - 296  [0.508] 1000
Elo difference: 34.9 +/- 18.1, LOS: 100.0 %, DrawRatio: 29.6 %
Score of Yukari vs Stash23: 308 - 384 - 308  [0.462] 1000
...      Yukari playing White: 140 - 201 - 159  [0.439] 500
...      Yukari playing Black: 168 - 183 - 149  [0.485] 500
...      White vs Black: 323 - 369 - 308  [0.477] 1000
Elo difference: -26.5 +/- 17.9, LOS: 0.2 %, DrawRatio: 30.8 %
Score of Yukari vs Fruit2.1: 452 - 260 - 288  [0.596] 1000
...      Yukari playing White: 214 - 128 - 158  [0.586] 500
...      Yukari playing Black: 238 - 132 - 130  [0.606] 500
...      White vs Black: 346 - 366 - 288  [0.490] 1000
Elo difference: 67.5 +/- 18.4, LOS: 100.0 %, DrawRatio: 28.8 %

Stash 22 is about 2770 CCRL; Stash 23 is about 2830 CCRL; Fruit 2.1 was about 2700 CCRL, if I remember correctly.