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 mlx-libraries, reference main (fc3afc), with Swift 6.1 for Wasm on 12 Dec 2025 02:01:10 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ml-explore/mlx-swift-examples.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/ml-explore/mlx-swift-examples
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at fc3afc7 Update LLMEval example (#452)
Cloned https://github.com/ml-explore/mlx-swift-examples.git
Revision (git rev-parse @):
fc3afc7cdbc4b6120d210c4c58c6b132ce346775
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ml-explore/mlx-swift-examples.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/ml-explore/mlx-swift-examples.git
https://github.com/ml-explore/mlx-swift-examples.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "mlx-swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.29.1",
            "upper_bound" : "0.30.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ml-explore/mlx-swift"
    },
    {
      "identity" : "swift-transformers",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "1.2.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/huggingface/swift-transformers"
    },
    {
      "identity" : "gzipswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.1",
            "upper_bound" : "6.0.2"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/1024jp/GzipSwift"
    }
  ],
  "manifest_display_name" : "mlx-libraries",
  "name" : "mlx-libraries",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "MLXMNIST",
      "targets" : [
        "MLXMNIST"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "StableDiffusion",
      "targets" : [
        "StableDiffusion"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "StableDiffusion",
      "module_type" : "SwiftTarget",
      "name" : "StableDiffusion",
      "path" : "Libraries/StableDiffusion",
      "product_dependencies" : [
        "MLX",
        "MLXNN",
        "MLXRandom",
        "Transformers"
      ],
      "product_memberships" : [
        "StableDiffusion"
      ],
      "sources" : [
        "Clip.swift",
        "Configuration.swift",
        "Image.swift",
        "Load.swift",
        "Sampler.swift",
        "StableDiffusion.swift",
        "Tokenizer.swift",
        "UNet.swift",
        "VAE.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MLXMNIST",
      "module_type" : "SwiftTarget",
      "name" : "MLXMNIST",
      "path" : "Libraries/MLXMNIST",
      "product_dependencies" : [
        "MLX",
        "MLXFast",
        "MLXNN",
        "MLXOptimizers",
        "MLXRandom",
        "Transformers",
        "Gzip"
      ],
      "product_memberships" : [
        "MLXMNIST"
      ],
      "sources" : [
        "Files.swift",
        "MNIST.swift",
        "Random.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:4dfe22dedd7a52399668938cbd466a34545eff77bced906005dc4032a6549d90
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Fetching https://github.com/huggingface/swift-transformers
Fetching https://github.com/1024jp/GzipSwift
[1/1557] Fetching gzipswift
[1558/6709] Fetching gzipswift, swift-transformers
Fetched https://github.com/1024jp/GzipSwift from cache (0.53s)
[1185/5152] Fetching swift-transformers
Fetching https://github.com/ml-explore/mlx-swift
Fetched https://github.com/huggingface/swift-transformers from cache (1.33s)
[1/12229] Fetching mlx-swift
Fetched https://github.com/ml-explore/mlx-swift from cache (1.87s)
Computing version for https://github.com/1024jp/GzipSwift
Computed https://github.com/1024jp/GzipSwift at 6.0.1 (7.46s)
Computing version for https://github.com/ml-explore/mlx-swift
Computed https://github.com/ml-explore/mlx-swift at 0.29.1 (1.17s)
Fetching https://github.com/apple/swift-numerics
[1/6384] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (0.65s)
Computing version for https://github.com/huggingface/swift-transformers
Computed https://github.com/huggingface/swift-transformers at 1.1.5 (1.70s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/huggingface/swift-jinja.git
[1/783] Fetching swift-jinja
[784/19161] Fetching swift-jinja, swift-collections
Fetched https://github.com/huggingface/swift-jinja.git from cache (0.56s)
[736/18378] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (2.58s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (3.83s)
Computing version for https://github.com/huggingface/swift-jinja.git
Computed https://github.com/huggingface/swift-jinja.git at 2.2.0 (3.77s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.3.0 (1.89s)
Creating working copy for https://github.com/ml-explore/mlx-swift
Working copy of https://github.com/ml-explore/mlx-swift resolved at 0.29.1
Creating working copy for https://github.com/huggingface/swift-jinja.git
Working copy of https://github.com/huggingface/swift-jinja.git resolved at 2.2.0
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Creating working copy for https://github.com/1024jp/GzipSwift
Working copy of https://github.com/1024jp/GzipSwift resolved at 6.0.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.3.0
Creating working copy for https://github.com/huggingface/swift-transformers
Working copy of https://github.com/huggingface/swift-transformers resolved at 1.1.5
Building for debugging...
[0/188] Write sources
[10/188] Copying t5_tokenizer_config.json
[10/188] Copying gpt2_tokenizer_config.json
[10/188] Write sources
[20/188] Compiling version.cpp
[21/188] Compiling system-zlib anchor.c
[22/188] Compiling _NumericsShims _NumericsShims.c
[23/188] Write swift-version-24593BA9C3E375BF.txt
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:18:8: error: no type named 'mutex' in namespace 'std'
   18 |   std::mutex mtx;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:20:8: error: no type named 'condition_variable' in namespace 'std'
   20 |   std::condition_variable cond;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:22:8: error: no type named 'thread' in namespace 'std'
   22 |   std::thread thread;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:28:28: error: no member named 'mutex' in namespace 'std'
   28 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:39:14: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   39 |         std::unique_lock<std::mutex> lk(mtx);
      |         ~~~~~^~~~~~~~~~~
      |              unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:39:31: error: no member named 'mutex' in namespace 'std'
   39 |         std::unique_lock<std::mutex> lk(mtx);
      |                          ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:40:19: error: use of undeclared identifier 'lk'
   40 |         cond.wait(lk, [this] { return !this->q.empty() || this->stop; });
      |                   ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:55:28: error: no member named 'mutex' in namespace 'std'
   55 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:152:8: error: no type named 'condition_variable' in namespace 'std'
  152 |   std::condition_variable completion_cv;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:153:8: error: no type named 'mutex' in namespace 'std'
  153 |   std::mutex mtx;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:108:28: error: no member named 'mutex' in namespace 'std'
  108 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:116:28: error: no member named 'mutex' in namespace 'std'
  116 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:127:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  127 |     std::unique_lock<std::mutex> lk(mtx);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:127:27: error: no member named 'mutex' in namespace 'std'
  127 |     std::unique_lock<std::mutex> lk(mtx);
      |                      ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:130:26: error: use of undeclared identifier 'lk'
  130 |       completion_cv.wait(lk, [this, n_tasks_old] {
      |                          ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:43:36: error: no member named 'promise' in namespace 'std'
   43 |     auto p = std::make_shared<std::promise<void>>();
      |                               ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:43:48: error: expected '(' for function-style cast or type construction
   43 |     auto p = std::make_shared<std::promise<void>>();
      |                                            ~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:43:51: error: expected expression
   43 |     auto p = std::make_shared<std::promise<void>>();
      |                                                   ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:44:10: error: no member named 'future' in namespace 'std'
   44 |     std::future<void> f = p->get_future();
      |     ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[24/188] Compiling scheduler.cpp
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/ops.cpp:13:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/fast_primitives.h:6:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:69:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/ops.cpp:13:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/fast_primitives.h:6:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:100:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/ops.cpp:13:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/fast_primitives.h:6:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:120:16: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |           ~~~~~^~~~~~~~~~~
      |                unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/ops.cpp:13:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/fast_primitives.h:6:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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);
      |                            ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:122:15: error: use of undeclared identifier 'lock'; did you mean 'clock'?
  122 |               lock, [this] { return this->stop || !this->tasks.empty(); });
      |               ^~~~
      |               clock
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[24/188] Compiling ops.cpp
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.cpp:17:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:69:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.cpp:17:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:100:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.cpp:17:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:120:16: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |           ~~~~~^~~~~~~~~~~
      |                unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.cpp:17:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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);
      |                            ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:122:15: error: use of undeclared identifier 'lock'; did you mean 'clock'?
  122 |               lock, [this] { return this->stop || !this->tasks.empty(); });
      |               ^~~~
      |               clock
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[24/188] Compiling primitives.cpp
[24/188] Compiling utils.cpp
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/random.cpp:8:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:69:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/random.cpp:8:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h[24/188] Compiling random.cpp
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/transforms.cpp:17:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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...>>;
      |          ~~~~~^
[24/188] Compiling transforms.cpp
[24/188] Compiling safetensors.cpp
[24/188] Compiling linalg.cpp
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:4dfe22dedd7a52399668938cbd466a34545eff77bced906005dc4032a6549d90
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:18:8: error: no type named 'mutex' in namespace 'std'
   18 |   std::mutex mtx;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:20:8: error: no type named 'condition_variable' in namespace 'std'
   20 |   std::condition_variable cond;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:22:8: error: no type named 'thread' in namespace 'std'
   22 |   std::thread thread;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:28:28: error: no member named 'mutex' in namespace 'std'
   28 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:39:14: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   39 |         std::unique_lock<std::mutex> lk(mtx);
      |         ~~~~~^~~~~~~~~~~
      |              unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:39:31: error: no member named 'mutex' in namespace 'std'
   39 |         std::unique_lock<std::mutex> lk(mtx);
      |                          ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:40:19: error: use of undeclared identifier 'lk'
   40 |         cond.wait(lk, [this] { return !this->q.empty() || this->stop; });
      |                   ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:55:28: error: no member named 'mutex' in namespace 'std'
   55 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:152:8: error: no type named 'condition_variable' in namespace 'std'
  152 |   std::condition_variable completion_cv;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:153:8: error: no type named 'mutex' in namespace 'std'
  153 |   std::mutex mtx;
      |   ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:108:28: error: no member named 'mutex' in namespace 'std'
  108 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:116:28: error: no member named 'mutex' in namespace 'std'
  116 |       std::lock_guard<std::mutex> lk(mtx);
      |                       ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:127:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  127 |     std::unique_lock<std::mutex> lk(mtx);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:127:27: error: no member named 'mutex' in namespace 'std'
  127 |     std::unique_lock<std::mutex> lk(mtx);
      |                      ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.h:130:26: error: use of undeclared identifier 'lk'
  130 |       completion_cv.wait(lk, [this, n_tasks_old] {
      |                          ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:43:36: error: no member named 'promise' in namespace 'std'
   43 |     auto p = std::make_shared<std::promise<void>>();
      |                               ~~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:43:48: error: expected '(' for function-style cast or type construction
   43 |     auto p = std::make_shared<std::promise<void>>();
      |                                            ~~~~^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:43:51: error: expected expression
   43 |     auto p = std::make_shared<std::promise<void>>();
      |                                                   ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/scheduler.cpp:44:10: error: no member named 'future' in namespace 'std'
   44 |     std::future<void> f = p->get_future();
      |     ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[0/165] Compiling scheduler.cpp
[0/165] Compiling safetensors.cpp
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/ops.cpp:13:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/fast_primitives.h:6:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:69:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   69 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/ops.cpp:13:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/fast_primitives.h:6:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
   79 |   return res;
      |          ^
/host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:100:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  100 |     std::unique_lock<std::mutex> lock(queue_mutex);
      |     ~~~~~^~~~~~~~~~~
      |          unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/ops.cpp:13:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/fast_primitives.h:6:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:120:16: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |           ~~~~~^~~~~~~~~~~
      |                unique_copy
/root/.swiftpm/swift-sdks/swift-wasm-6.1-RELEASE-wasm32-unknown-wasi.artifactbundle/6.1-RELEASE-wasm32-unknown-wasi/wasm32-unknown-wasi/WASI.sdk/include/c++/v1/__algorithm/unique_copy.h:102:1: note: 'unique_copy' declared here
  102 | unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) {
      | ^
[0/165] Compiling ops.cpp
[0/165] Compiling random.cpp
[0/165] Compiling primitives.cpp
[0/165] Compiling transforms.cpp
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/linalg.cpp:8:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/primitives.h:9:
In file included from /host/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/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/.build/checkouts/mlx-swift/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
   50 |   std::mutex queue_mutex;
      |   ~~~~~^
[0/165] Compiling linalg.cpp
[0/165] Compiling utils.cpp
BUILD FAILURE 6.1 wasm