Build Information
Failed to build mlx-swift, reference 0.31.3 (61b9e0), with Swift 6.3 for Wasm on 18 Apr 2026 14:35:27 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/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ml-explore/mlx-swift.git
Reference: 0.31.3
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
* tag 0.31.3 -> FETCH_HEAD
HEAD is now at 61b9e01 hold evalLock during mlx_save_safetensors etc (#379)
Submodule path 'Source/Cmlx/mlx': checked out 'ce45c52505c8158ea48d2a54e8caae05efd86bfe'
Submodule path 'Source/Cmlx/mlx-c': checked out '0726ca922fc902c4c61ef9c27d94132be418e945'
Submodule 'submodules/mlx' (https://github.com/ml-explore/mlx) registered for path 'Source/Cmlx/mlx'
Submodule 'submodules/mlx-c' (https://github.com/ml-explore/mlx-c) registered for path 'Source/Cmlx/mlx-c'
Cloning into '/host/spi-builder-workspace/Source/Cmlx/mlx'...
Cloning into '/host/spi-builder-workspace/Source/Cmlx/mlx-c'...
Cloned https://github.com/ml-explore/mlx-swift.git
Revision (git rev-parse @):
61b9e011e09a62b489f6bd647958f1555bdf2896
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ml-explore/mlx-swift.git at 0.31.3
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.3
Building package at path: $PWD
https://github.com/ml-explore/mlx-swift.git
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/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest
Fetching https://github.com/apple/swift-numerics
[1/6416] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (0.68s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.08s)
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Source/Examples/Example1.swift
/host/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
/host/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Source/Examples/Tutorial.swift
/host/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
/host/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Source/Examples/Example1.swift
/host/spi-builder-workspace/Source/Examples/Tutorial.swift
/host/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Source/Examples/Tutorial.swift
/host/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
/host/spi-builder-workspace/Source/Examples/Example1.swift
Building for debugging...
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/cuda.cpp:9:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
40 | -> std::future<typename std::invoke_result_t<F, Args...>>;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
48 | std::vector<std::thread> workers;
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
50 | std::mutex queue_mutex;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
51 | std::condition_variable condition;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
61 | -> std::future<typename std::invoke_result_t<F, Args...>> {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
64 | auto task = std::make_shared<std::packaged_task<return_type()>>(
| ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
67 | std::future<return_type> res = task->get_future();
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
67 | std::future<return_type> res = task->get_future();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
67 | std::future<return_type> res = task->get_future();
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
69 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
79 | return res;
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
100 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
104 | for (std::thread& worker : workers) {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
120 | std::unique_lock<std::mutex> lock(this->queue_mutex);
| ^~~~~
14 errors generated.
[0/180] Compiling cuda.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/compile.cpp:8:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
40 | -> std::future<typename std::invoke_result_t<F, Args...>>;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
48 | std::vector<std::thread> workers;
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
50 | std::mutex queue_mutex;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
51 | std::condition_variable condition;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
61 | -> std::future<typename std::invoke_result_t<F, Args...>> {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
64 | auto task = std::make_shared<std::packaged_task<return_type()>>(
| ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
67 | std::future<return_type> res = task->get_future();
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
67 | std::future<return_type> res = task->get_future();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
67 | std::future<return_type> res = task->get_future();
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
69 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
79 | return res;
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
100 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
104 | for (std::thread& worker : workers) {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
120 | std::unique_lock<std::mutex> lock(this->queue_mutex);
| ^~~~~
14 errors generated.
[0/180] Compiling compile.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/primitives.cpp:17:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/primitives.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
40 | -> std::future<typename std::invoke_result_t<F, Args...>>;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
48 | std::vector<std::thread> workers;
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
50 | std::mutex queue_mutex;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
51 | std::condition_variable condition;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
61 | -> std::future<typename std::invoke_result_t<F, Args...>> {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
64 | auto task = std::make_shared<std::packaged_task<return_type()>>(
| ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
67 | std::future<return_type> res = task->get_future();
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
67 | std::future<return_type> res = task->get_future();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
67 | std::future<return_type> res = task->get_future();
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
69 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
79 | return res;
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
100 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
104 | for (std::thread& worker : workers) {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
120 | std::unique_lock<std::mutex> lock(this->queue_mutex);
| ^~~~~
[0/180] Compiling primitives.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/closure.cpp:8:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/mlx.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/private/array.h:10:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/mlx.h:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
40 | -> std::future<typename std::invoke_result_t<F, Args...>>;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
48 | std::vector<std::thread> workers;
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
50 | std::mutex queue_mutex;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
51 | std::condition_variable condition;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
61 | -> std::future<typename std::invoke_result_t<F, Args...>> {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
64 | auto task = std::make_shared<std::packaged_task<return_type()>>(
| ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
67 | std::future<return_type> res = task->get_future();
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
67 | std::future<return_type> res = task->get_future();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
67 | std::future<return_type> res = task->get_future();
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
69 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
79 | return res;
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
100 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
104 | for (std::thread& worker : workers) {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
120 | std::unique_lock<std::mutex> lock(this->queue_mutex);
| ^~~~~
[0/180] Compiling closure.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.cpp:2:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
40 | -> std::future<typename std::invoke_result_t<F, Args...>>;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
48 | std::vector<std::thread> workers;
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
50 | std::mutex queue_mutex;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
51 | std::condition_variable condition;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
61 | -> std::future<typename std::invoke_result_t<F, Args...>> {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
64 | auto task = std::make_shared<std::packaged_task<return_type()>>(
| ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
67 | std::future<return_type> res = task->get_future();
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
67 | std::future<return_type> res = task->get_future();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
67 | std::future<return_type> res = task->get_future();
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
69 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
79 | return res;
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
100 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
104 | for (std::thread& worker : workers) {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
120 | std::unique_lock<std::mutex> lock(this->queue_mutex);
| ^~~~~
[0/180] Compiling export.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/array.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:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
40 | -> std::future<typename std::invoke_result_t<F, Args...>>;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
48 | std::vector<std::thread> workers;
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
50 | std::mutex queue_mutex;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
51 | std::condition_variable condition;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
61 | -> std::future<typename std::invoke_result_t<F, Args...>> {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
64 | auto task = std::make_shared<std::packaged_task<return_type()>>(
| ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
67 | std::future<return_type> res = task->get_future();
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
67 | std::future<return_type> res = task->get_future();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
67 | std::future<return_type> res = task->get_future();
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
69 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
79 | return res;
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
100 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
104 | for (std::thread& worker : workers) {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
120 | std::unique_lock<std::mutex> lock(this->queue_mutex);
| ^~~~~
[0/180] Compiling array.cpp
[0/180] Compiling einsum.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx-c/mlx/c/device.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:14:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export.h:137:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/export_impl.h:4:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/io/load.h:16:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:40:15: error: no template named 'future' in namespace 'std'
40 | -> std::future<typename std::invoke_result_t<F, Args...>>;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:48:20: error: no member named 'thread' in namespace 'std'
48 | std::vector<std::thread> workers;
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:50:8: error: no type named 'mutex' in namespace 'std'
50 | std::mutex queue_mutex;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:51:8: error: no type named 'condition_variable' in namespace 'std'
51 | std::condition_variable condition;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:61:13: error: no template named 'future' in namespace 'std'
61 | -> std::future<typename std::invoke_result_t<F, Args...>> {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:64:37: error: no member named 'packaged_task' in namespace 'std'
64 | auto task = std::make_shared<std::packaged_task<return_type()>>(
| ^~~~~~~~~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:8: error: no member named 'future' in namespace 'std'
67 | std::future<return_type> res = task->get_future();
| ^~~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:15: error: unexpected type name 'return_type': expected expression
67 | std::future<return_type> res = task->get_future();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:67:28: error: use of undeclared identifier 'res'
67 | std::future<return_type> res = task->get_future();
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:69:27: error: no member named 'mutex' in namespace 'std'
69 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:79:10: error: use of undeclared identifier 'res'
79 | return res;
| ^~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:100:27: error: no member named 'mutex' in namespace 'std'
100 | std::unique_lock<std::mutex> lock(queue_mutex);
| ^~~~~
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:104:13: error: no type named 'thread' in namespace 'std'
104 | for (std::thread& worker : workers) {
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/threadpool.h:120:33: error: no member named 'mutex' in namespace 'std'
120 | std::unique_lock<std::mutex> lock(this->queue_mutex);
| ^~~~~
[0/180] Compiling device.cpp
BUILD FAILURE 6.3 wasm