The Swift Package Index logo.Swift Package Index

Build Information

Failed to build mlx-swift, reference main (09051e), with Swift 6.3 for Wasm on 16 Oct 2026 03:06:22 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/drewster99/mlx-swift.git
Reference: main
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/drewster99/mlx-swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 09051ed Add global scale support to quantized layers (#426)
Submodule path 'Source/Cmlx/mlx': checked out 'ce45c52505c8158ea48d2a54e8caae05efd86bfe'
Submodule path 'Source/Cmlx/mlx-c': checked out '0726ca922fc902c4c61ef9c27d94132be418e945'
Submodule 'submodules/mlx' (https://github.com/ml-explore/mlx) registered for path 'Source/Cmlx/mlx'
Submodule 'submodules/mlx-c' (https://github.com/ml-explore/mlx-c) registered for path 'Source/Cmlx/mlx-c'
Cloning into '/host/spi-builder-workspace/Source/Cmlx/mlx'...
Cloning into '/host/spi-builder-workspace/Source/Cmlx/mlx-c'...
Cloned https://github.com/drewster99/mlx-swift.git
Revision (git rev-parse @):
09051ed1986b6f2c69b6fda4e32ca42dd7dcdec3
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/drewster99/mlx-swift.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/drewster99/mlx-swift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:11aa8e4a9dbcd813ae44128d01e945c51d260b4dfda77b6bb7d997d0cc236164
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/apple/swift-numerics
[1/6756] Fetching swift-numerics
[6690/25870] Fetching swift-numerics, swift-argument-parser
Fetched https://github.com/apple/swift-numerics from cache (0.81s)
Fetched https://github.com/apple/swift-argument-parser from cache (0.81s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (0.97s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.14s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
[0/9] Write sources
[3/9] Write swift-version-24593BA9C3E375BF.txt
[5/11] Emitting module ArgumentParserToolInfo
[6/11] Compiling ArgumentParserToolInfo ToolInfo.swift
[7/12] Wrapping AST for ArgumentParserToolInfo for debugging
[9/59] Emitting module ArgumentParser
[10/65] Compiling ArgumentParser ParentCommand.swift
[11/65] Compiling ArgumentParser AsyncParsableCommand.swift
[12/65] Compiling ArgumentParser CommandConfiguration.swift
[13/65] Compiling ArgumentParser CommandGroup.swift
[14/65] Compiling ArgumentParser EnumerableFlag.swift
[15/65] Compiling ArgumentParser ExpressibleByArgument.swift
[16/65] Compiling ArgumentParser ParsableArguments.swift
[17/65] Compiling ArgumentParser AsyncCompletionsValidator.swift
[18/65] Compiling ArgumentParser CodingKeyValidator.swift
[19/65] Compiling ArgumentParser NonsenseFlagsValidator.swift
[20/65] Compiling ArgumentParser ParsableArgumentsValidation.swift
[21/65] Compiling ArgumentParser PositionalArgumentsValidator.swift
[22/65] Compiling ArgumentParser UniqueNamesValidator.swift
[23/65] Compiling ArgumentParser ArgumentVisibility.swift
[24/65] Compiling ArgumentParser CompletionKind.swift
[25/65] Compiling ArgumentParser Errors.swift
[26/65] Compiling ArgumentParser Flag.swift
[27/65] Compiling ArgumentParser NameSpecification.swift
[28/65] Compiling ArgumentParser Option.swift
[29/65] Compiling ArgumentParser OptionGroup.swift
[30/65] Compiling ArgumentParser BashCompletionsGenerator.swift
[31/65] Compiling ArgumentParser CompletionsGenerator.swift
[32/65] Compiling ArgumentParser FishCompletionsGenerator.swift
[33/65] Compiling ArgumentParser ZshCompletionsGenerator.swift
[34/65] Compiling ArgumentParser Argument.swift
[35/65] Compiling ArgumentParser ArgumentDiscussion.swift
[36/65] Compiling ArgumentParser ArgumentHelp.swift
[37/65] Compiling ArgumentParser Name.swift
[38/65] Compiling ArgumentParser Parsed.swift
[39/65] Compiling ArgumentParser ParsedValues.swift
[40/65] Compiling ArgumentParser ParserError.swift
[41/65] Compiling ArgumentParser SplitArguments.swift
[42/65] Compiling ArgumentParser DumpHelpGenerator.swift
[43/65] Compiling ArgumentParser HelpCommand.swift
[44/65] Compiling ArgumentParser HelpGenerator.swift
[45/65] Compiling ArgumentParser MessageInfo.swift
[46/65] Compiling ArgumentParser UsageGenerator.swift
[47/65] Compiling ArgumentParser CollectionExtensions.swift
[48/65] Compiling ArgumentParser Foundation.swift
[49/65] Compiling ArgumentParser Mutex.swift
[50/65] Compiling ArgumentParser Platform.swift
[51/65] Compiling ArgumentParser SequenceExtensions.swift
[52/65] Compiling ArgumentParser StringExtensions.swift
[53/65] Compiling ArgumentParser SwiftExtensions.swift
[54/65] Compiling ArgumentParser Tree.swift
[55/65] Compiling ArgumentParser ParsableCommand.swift
[56/65] Compiling ArgumentParser ArgumentDecoder.swift
[57/65] Compiling ArgumentParser ArgumentDefinition.swift
[58/65] Compiling ArgumentParser ArgumentSet.swift
[59/65] Compiling ArgumentParser CommandParser.swift
[60/65] Compiling ArgumentParser InputKey.swift
[61/65] Compiling ArgumentParser InputOrigin.swift
[62/66] Wrapping AST for ArgumentParser for debugging
[64/72] Compiling encuda encuda-utils.swift
[65/72] Compiling encuda encuda.swift
[66/72] Compiling encuda encuda-link.swift
[67/72] Compiling encuda encuda-error.swift
[68/72] Emitting module encuda
[69/72] Compiling encuda encuda-compile.swift
[70/73] Wrapping AST for encuda for debugging
[71/73] Write Objects.LinkFileList
[72/73] Linking encuda-tool
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Source/Examples/Example1.swift
    /host/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
    /host/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
    /host/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
    /host/spi-builder-workspace/Source/Examples/Tutorial.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Source/Examples/Example1.swift
    /host/spi-builder-workspace/Source/Examples/Tutorial.swift
    /host/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Source/Examples/Example1.swift
    /host/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
    /host/spi-builder-workspace/Source/Examples/Tutorial.swift
[1/1] Compiling plugin CudaBuild
[2/2] Compiling plugin GenerateManual
[3/3] Compiling plugin GenerateDoccReference
Building for debugging...
[3/412] Write sources
[7/412] Compiling _NumericsShims _NumericsShims.c
[8/412] Write sources
[22/412] Compiling version.cpp
[23/412] Compiling error.cpp
[24/412] Write swift-version-24593BA9C3E375BF.txt
[25/412] Compiling utils.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:19:8: error: no type named 'mutex' in namespace 'std'
   19 |   std::mutex mtx;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:21:8: error: no type named 'condition_variable' in namespace 'std'
   21 |   std::condition_variable cond;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:23:8: error: no type named 'thread' in namespace 'std'
   23 |   std::thread thread;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:29:28: error: no member named 'mutex' in namespace 'std'
   29 |       std::lock_guard<std::mutex> lk(mtx);
      |                            ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:40:31: error: no member named 'mutex' in namespace 'std'
   40 |         std::unique_lock<std::mutex> lk(mtx);
      |                               ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:56:28: error: no member named 'mutex' in namespace 'std'
   56 |       std::lock_guard<std::mutex> lk(mtx);
      |                            ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:160:8: error: no type named 'condition_variable' in namespace 'std'
  160 |   std::condition_variable completion_cv;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:161:8: error: no type named 'mutex' in namespace 'std'
  161 |   std::mutex mtx;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:112:28: error: no member named 'mutex' in namespace 'std'
  112 |       std::lock_guard<std::mutex> lk(mtx);
      |                            ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:120:28: error: no member named 'mutex' in namespace 'std'
  120 |       std::lock_guard<std::mutex> lk(mtx);
      |                            ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:131:27: error: no member named 'mutex' in namespace 'std'
  131 |     std::unique_lock<std::mutex> lk(mtx);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:47:36: error: no member named 'promise' in namespace 'std'
   47 |     auto p = std::make_shared<std::promise<void>>();
      |                                    ^~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:47:48: error: expected '(' for function-style cast or type construction
   47 |     auto p = std::make_shared<std::promise<void>>();
      |                                            ~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:47:51: error: expected expression
   47 |     auto p = std::make_shared<std::promise<void>>();
      |                                                   ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:48:10: error: no member named 'future' in namespace 'std'
   48 |     std::future<void> f = p->get_future();
      |          ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:48:21: error: expected '(' for function-style cast or type construction
   48 |     std::future<void> f = p->get_future();
      |                 ~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:48:23: error: use of undeclared identifier 'f'
   48 |     std::future<void> f = p->get_future();
      |                       ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:50:5: error: use of undeclared identifier 'f'
   50 |     f.wait();
      |     ^
18 errors generated.
[26/423] Compiling scheduler.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/string.cpp:5:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
   40 |       -> std::future<typename std::invoke_result_t<F, Args...>>;
      |          ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
   48 |   std::vector<std::thread> workers;
      |                    ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
   50 |   std::mutex queue_mutex;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
   51 |   std::condition_variable condition;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
   61 |     -> std::future<typename std::invoke_result_t<F, Args...>> {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
   64 |   auto task = std::make_shared<std::packaged_task<return_type()>>(
      |                                     ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
   67 |   std::future<return_type> res = task->get_future();
      |        ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
   67 |   std::future<return_type> res = task->get_future();
      |               ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
   67 |   std::future<return_type> res = task->get_future();
      |                            ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
  104 |   for (std::thread& worker : workers) {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                                 ^~~~~
[26/423] Compiling string.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/transforms.cpp:8:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
   40 |       -> std::future<typename std::invoke_result_t<F, Args...>>;
      |          ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
   48 |   std::vector<std::thread> workers;
      |                    ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
   50 |   std::mutex queue_mutex;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
   51 |   std::condition_variable condition;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
   61 |     -> std::future<typename std::invoke_result_t<F, Args...>> {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
   64 |   auto task = std::make_shared<std::packaged_task<return_type()>>(
      |                                     ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
   67 |   std::future<return_type> res = task->get_future();
      |        ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
   67 |   std::future<return_type> res = task->get_future();
      |               ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
   67 |   std::future<return_type> res = task->get_future();
      |                            ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
  104 |   for (std::thread& worker : workers) {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                                 ^~~~~
[26/423] Compiling transforms.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/fast.cpp:8:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
   40 |       -> std::future<typename std::invoke_result_t<F, Args...>>;
      |          ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
   48 |   std::vector<std::thread> workers;
      |                    ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
   50 |   std::mutex queue_mutex;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
   51 |   std::condition_variable condition;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
   61 |     -> std::future<typename std::invoke_result_t<F, Args...>> {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
   64 |   auto task = std::make_shared<std::packaged_task<return_type()>>(
      |                                     ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
   67 |   std::future<return_type> res = task->get_future();
      |        ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
   67 |   std::future<return_type> res = task->get_future();
      |               ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
   67 |   std::future<return_type> res = task->get_future();
      |                            ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
  104 |   for (std::thread& worker : workers) {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                                 ^~~~~
[26/423] Compiling fast.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/export.cpp:3:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
   40 |       -> std::future<typename std::invoke_result_t<F, Args...>>;
      |          ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
   48 |   std::vector<std::thread> workers;
      |                    ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
   50 |   std::mutex queue_mutex;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
   51 |   std::condition_variable condition;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
   61 |     -> std::future<typename std::invoke_result_t<F, Args...>> {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
   64 |   auto task = std::make_shared<std::packaged_task<return_type()>>(
      |                                     ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
   67 |   std::future<return_type> res = task->get_future();
      |        ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
   67 |   std::future<return_type> res = task->get_future();
      |               ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
   67 |   std::future<return_type> res = task->get_future();
      |                            ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
  104 |   for (std::thread& worker : workers) {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                                 ^~~~~
[26/423] Compiling export.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/fft.cpp:8:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
   40 |       -> std::future<typename std::invoke_result_t<F, Args...>>;
      |          ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
   48 |   std::vector<std::thread> workers;
      |                    ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
   50 |   std::mutex queue_mutex;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
   51 |   std::condition_variable condition;
      |   ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
   61 |     -> std::future<typename std::invoke_result_t<F, Args...>> {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
   64 |   auto task = std::make_shared<std::packaged_task<return_type()>>(
      |                                     ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
   67 |   std::future<return_type> res = task->get_future();
      |        ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
   67 |   std::future<return_type> res = task->get_future();
      |               ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
   67 |   std::future<return_type> res = task->get_future();
      |                            ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |                           ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
  104 |   for (std::thread& worker : workers) {
      |        ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                                 ^~~~~
[26/423] Compiling fft.cpp
[26/423] Compiling transforms.cpp
BUILD FAILURE 6.3 wasm