The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build MicroMaxOnAppleSilicon, reference v2.1.0 (5a1eef), with Swift 6.1 for Android on 29 May 2025 19:55:46 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Reference: v2.1.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/mesqueeb/MicroMaxOnAppleSilicon
 * tag               v2.1.0     -> FETCH_HEAD
HEAD is now at 5a1eefc 2.1.0
Cloned https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Revision (git rev-parse @):
5a1eefc97dc6d17c9d1be6fc2bf7190a912a1e7e
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git at v2.1.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "c_language_standard" : "gnu17",
  "cxx_language_standard" : "c++20",
  "dependencies" : [
    {
      "identity" : "asyncify",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.9",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mesqueeb/Asyncify"
    }
  ],
  "manifest_display_name" : "MicroMaxOnAppleSilicon",
  "name" : "MicroMaxOnAppleSilicon",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "MicroMaxOnAppleSilicon",
      "targets" : [
        "MicroMaxCBridge",
        "MicroMaxCppBridge",
        "MicroMaxObjCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MicroMaxOnAppleSiliconTests",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSiliconTests",
      "path" : "MicroMaxOnAppleSilicon/Tests",
      "sources" : [
        "MicroMaxOnAppleSiliconTests.swift"
      ],
      "target_dependencies" : [
        "MicroMaxCBridge",
        "MicroMaxCppBridge",
        "MicroMaxObjCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MicroMaxOnAppleSilicon",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSilicon",
      "path" : "MicroMaxOnAppleSilicon/Sources/SwiftBridge",
      "product_dependencies" : [
        "Asyncify"
      ],
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "sources" : [
        "Helpers.swift",
        "MicroMaxBridge.swift",
        "Types.swift"
      ],
      "target_dependencies" : [
        "MicroMaxObjCBridge"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MicroMaxObjCBridge",
      "module_type" : "ClangTarget",
      "name" : "MicroMaxObjCBridge",
      "path" : "MicroMaxOnAppleSilicon/Sources/ObjCBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/ObjCBridge/Resources/fmax.ini",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "EngineContext.m",
        "MicroMaxObjCBridge.mm"
      ],
      "target_dependencies" : [
        "MicroMaxCppBridge"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MicroMaxCppBridge",
      "module_type" : "ClangTarget",
      "name" : "MicroMaxCppBridge",
      "path" : "MicroMaxOnAppleSilicon/Sources/CppBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "sources" : [
        "AbstractAdapter.cpp",
        "Bitboard/BBBook.cpp",
        "Bitboard/BBitboard.cpp",
        "Bitboard/BMovegen.cpp",
        "Bitboard/BPosition.cpp",
        "ChessCore.cpp",
        "MicroMaxBridge.cpp",
        "PThreadStaticLinker.cpp",
        "ProtocolParser.cpp",
        "Resources.cpp",
        "UnixAdapter.cpp",
        "UnixListener.cpp",
        "VirtualBoard.cpp",
        "WBProtocol.cpp",
        "WBProtocolParser.cpp",
        "engine.cpp",
        "io.cpp"
      ],
      "target_dependencies" : [
        "MicroMaxCBridge"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MicroMaxCBridge",
      "module_type" : "ClangTarget",
      "name" : "MicroMaxCBridge",
      "path" : "MicroMaxOnAppleSilicon/Sources/CBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "sources" : [
        "EngineContext.c",
        "Fairymax/Fairymax.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Fetching https://github.com/mesqueeb/Asyncify
[1/143] Fetching asyncify
Fetched https://github.com/mesqueeb/Asyncify from cache (0.29s)
Computing version for https://github.com/mesqueeb/Asyncify
Computed https://github.com/mesqueeb/Asyncify at 0.0.9 (0.85s)
Creating working copy for https://github.com/mesqueeb/Asyncify
Working copy of https://github.com/mesqueeb/Asyncify resolved at 0.0.9
Building for debugging...
[0/26] Write sources
[0/26] Copying fmax.ini
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:1:32: warning: pragma diagnostic expected option name (e.g. "-Wundef") [-Wunknown-pragmas]
    1 | #pragma GCC diagnostic warning "-w"
      |                                ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:164:19: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  164 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |           ~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:164:19: note: place parentheses around the '|' expression to silence this warning
  164 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |           (       )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:164:19: note: place parentheses around the '?:' expression to evaluate it first
  164 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |                (              )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:171:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  171 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                   ~^~~~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:171:20: note: place parentheses around the assignment to silence this warning
  171 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                   (       )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:171:20: note: use '==' to turn this assignment into an equality comparison
  171 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                    ==
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:199:47: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  199 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:199:47: note: place parentheses around the '|' expression to silence this warning
  199 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:199:47: note: place parentheses around the '?:' expression to evaluate it first
  199 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                               ^
      |                                           (        )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:204:40: warning: operator '>>' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
  204 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                       ~^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:204:40: note: place parentheses around the '-' expression to silence this warning
  204 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                        ^
      |                                       (   )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:215:39: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  215 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:215:39: note: place parentheses around the '<' expression to silence this warning
  215 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:215:39: note: place parentheses around the | expression to evaluate it first
  215 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                     ~~^~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:217:46: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  217 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                       ~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:217:46: note: place parentheses around the '|' expression to silence this warning
  217 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                       (      )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:217:46: note: place parentheses around the '?:' expression to evaluate it first
  217 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                           (
  218 |                                                  F,y&255,C):v;
      |
      |                                                              )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:222:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  222 |                                     W(*sp++=*p++);
      |                                       ~~~~~^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:222:44: note: place parentheses around the assignment to silence this warning
  222 |                                     W(*sp++=*p++);
      |                                            ^
      |                                       (         )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:222:44: note: use '==' to turn this assignment into an equality comparison
  222 |                                     W(*sp++=*p++);
      |                                            ^
      |                                            ==
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:46: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:46: note: place parentheses around the '<' expression to silence this warning
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                               (  )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:46: note: place parentheses around the | expression to evaluate it first
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                             (  )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:50: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                             ~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:50: note: place parentheses around the '|' expression to silence this warning
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                             (    )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:50: note: place parentheses around the '?:' expression to evaluate it first
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                               (            )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:241:41: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
  241 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:241:41: note: place parentheses around the '==' expression to silence this warning
  241 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                          (   )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:241:41: note: place parentheses around the & expression to evaluate it first
  241 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                     (     )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:18: warning: | has lower precedence than ==; == will be evaluated first [-Wparentheses]
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:18: note: place parentheses around the '==' expression to silence this warning
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:18: note: place parentheses around the | expression to evaluate it first
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~^~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:23: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:23: note: place parentheses around the '|' expression to silence this warning
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:23: note: place parentheses around the '?:' expression to evaluate it first
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                   ~~~~^~~~~~~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:145:5: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
  145 | int D(k,q,l,e,E,z,n)        /* recursive minimax search, k=moving side, n=depth*/
      |     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:409:52: warning: result of comparison of constant -1 with expression of type 'char' is always true [-Wtautological-constant-out-of-range-compare]
  409 |         while(fscanf(f, "Game: %s", buf) != 1 && c != EOF)
      |                                                  ~ ^  ~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:410:34: warning: result of comparison of constant -1 with expression of type 'char' is always true [-Wtautological-constant-out-of-range-compare]
  410 |             while((c = fgetc(f)) != EOF && c != '\n');
      |                   ~~~~~~~~~~~~~~ ^  ~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:411:14: warning: result of comparison of constant -1 with expression of type 'char' is always false [-Wtautological-constant-out-of-range-compare]
  411 |         if(c == EOF) break;
      |            ~ ^  ~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:414:15: warning: result of comparison of constant -1 with expression of type 'char' is always true [-Wtautological-constant-out-of-range-compare]
  414 |     } while(c != EOF);
      |             ~ ^  ~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:486:96: warning: '/*' within block comment [-Wcomment]
  486 |         /* printf("# c='%c' i=%d od[i]=%d j=%d (%3d,%8x)\n",c?c:' ',i,od[i],j,o[j-1],of[j-1]); /**/
      |                                                                                                ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:456:34: warning: result of comparison of constant -1 with expression of type 'char' is always true [-Wtautological-constant-out-of-range-compare]
  456 |             while((c = fgetc(f)) != EOF && c != '\n');
      |                   ~~~~~~~~~~~~~~ ^  ~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:458:18: warning: result of comparison of constant -1 with expression of type 'char' is always false [-Wtautological-constant-out-of-range-compare]
  458 |             if(c == EOF) {
      |                ~ ^  ~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:725:34: warning: operator '>>' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
  725 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                           ~~~~~~~^~~~~~~~~~~~~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:725:34: note: place parentheses around the '+' expression to silence this warning
  725 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                                  ^
      |                           (                    )
22 warnings generated.
[2/26] Compiling Fairymax.c
[3/26] Compiling MicroMaxCppBridge engine.cpp
In file included from <built-in>:1:
/host/spi-builder-workspace/.build/aarch64-unknown-linux-android24/debug/MicroMaxObjCBridge.build/DerivedSources/resource_bundle_accessor.h:2:9: fatal error: 'Foundation/Foundation.h' file not found
    2 | #import <Foundation/Foundation.h>
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[4/26] Compiling MicroMaxObjCBridge resource_bundle_accessor.m
[4/26] Compiling BBBook.cpp
[4/26] Compiling MicroMaxCppBridge io.cpp
[4/26] Compiling MicroMaxCppBridge WBProtocol.cpp
[4/26] Compiling MicroMaxCppBridge AbstractAdapter.cpp
[4/26] Write swift-version-24593BA9C3E375BF.txt
[4/26] Compiling MicroMaxCppBridge WBProtocolParser.cpp
[4/26] Compiling BBitboard.cpp
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CppBridge/UnixListener.cpp:21:9: error: use of undeclared identifier 'pthread_cancel'
   21 |         pthread_cancel(*_listener);
      |         ^
1 error generated.
[0/22] Compiling MicroMaxCppBridge UnixListener.cpp
[0/22] Compiling MicroMaxCppBridge VirtualBoard.cpp
[0/22] Compiling MicroMaxCppBridge Resources.cpp
[0/22] Compiling MicroMaxCppBridge WBProtocolParser.cpp
[0/22] Compiling MicroMaxCppBridge UnixAdapter.cpp
[0/22] Compiling MicroMaxCppBridge WBProtocol.cpp
[0/22] Compiling MicroMaxCppBridge io.cpp
[0/22] Write swift-version-24593BA9C3E375BF.txt
BUILD FAILURE 6.1 android