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-swift, reference main (b79c74), with Swift 6.2 (beta) for Wasm on 24 Jun 2025 08:19:46 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ml-explore/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/ml-explore/mlx-swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at b79c74c Add ReLUSquared Activation Function (#250)
Submodule path 'Source/Cmlx/mlx': checked out 'eaf709b83e559079e212699bfc9dd2f939d25c9a'
Submodule path 'Source/Cmlx/mlx-c': checked out '9ebe155864eab06d94ba18e01f9cb2666b2975a7'
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/ml-explore/mlx-swift.git
Revision (git rev-parse @):
b79c74ce773440b86a81ef925ea78dd5023a16c0
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ml-explore/mlx-swift.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/ml-explore/mlx-swift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:44384f43f933eaa0f42803e9ef7c3d8388c5841ccc831a15a5edf63d8c273423
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest
Fetching https://github.com/apple/swift-numerics
[1/5757] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (1.00s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.0.3 (5.58s)
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.0.3
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Source/Examples/Example1.swift
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Source/Examples/Tutorial.swift
Building for debugging...
[0/177] Compiling error.cpp
[1/177] Write swift-version-24593BA9C3E375BF.txt
[2/177] Compiling _NumericsShims _NumericsShims.c
[2/177] Write sources
[15/177] Compiling version.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/io_types.cpp:7:
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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/io_types.cpp:7:
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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/io_types.cpp:7:
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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/io_types.cpp:7:
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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                            ~~~~~^
/host/spi-builder-workspace/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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
18 errors generated.
[16/187] Compiling io_types.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/linalg.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/linalg.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/linalg.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/linalg.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                            ~~~~~^
/host/spi-builder-workspace/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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[16/187] Compiling linalg.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                            ~~~~~^
/host/spi-builder-workspace/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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[16/187] Compiling fft.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/io.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/io.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/io.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/io.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                            ~~~~~^
/host/spi-builder-workspace/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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[16/187] Compiling io.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/map.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/map.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/map.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/Source/Cmlx/mlx-c/mlx/c/map.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                            ~~~~~^
/host/spi-builder-workspace/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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[16/187] Compiling map.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                            ~~~~~^
/host/spi-builder-workspace/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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[16/187] Compiling export.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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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: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: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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/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/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:12:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:66:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:3:
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:120:33: error: no member named 'mutex' in namespace 'std'
  120 |           std::unique_lock<std::mutex> lock(this->queue_mutex);
      |                            ~~~~~^
/host/spi-builder-workspace/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-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm.artifactbundle/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-30-a_wasm/wasm32-unknown-wasi/WASI.sdk/include/wasm32-wasi/time.h:71:9: note: 'clock' declared here
   71 | clock_t clock (void);
      |         ^
[16/187] Compiling fast.cpp
BUILD FAILURE 6.2 wasm