Build Information
Failed to build mlx-swift, reference 0.25.4 (b94473
), with Swift 6.1 for Wasm on 2 Jun 2025 15:47:51 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" 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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ml-explore/mlx-swift.git
Reference: 0.25.4
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.25.4 -> FETCH_HEAD
HEAD is now at b94473a partial fix for #237 -- switching Device exhausts many resources (#242)
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 @):
b94473af8c50010edba87a48bbd60c3d7f949852
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ml-explore/mlx-swift.git at 0.25.4
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/ml-explore/mlx-swift.git
https://github.com/ml-explore/mlx-swift.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"cxx_language_standard" : "gnu++17",
"dependencies" : [
{
"identity" : "swift-numerics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-numerics"
}
],
"manifest_display_name" : "mlx-swift",
"name" : "mlx-swift",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.3"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "MLX",
"targets" : [
"MLX"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXRandom",
"targets" : [
"MLXRandom"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXNN",
"targets" : [
"MLXNN"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXOptimizers",
"targets" : [
"MLXOptimizers"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXFFT",
"targets" : [
"MLXFFT"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXLinalg",
"targets" : [
"MLXLinalg"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXFast",
"targets" : [
"MLXFast"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Tutorial",
"targets" : [
"Tutorial"
],
"type" : {
"executable" : null
}
},
{
"name" : "Example1",
"targets" : [
"Example1"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "Tutorial",
"module_type" : "SwiftTarget",
"name" : "Tutorial",
"path" : "Source/Examples",
"product_memberships" : [
"Tutorial"
],
"sources" : [
"Tutorial.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "executable"
},
{
"c99name" : "MLXTests",
"module_type" : "SwiftTarget",
"name" : "MLXTests",
"path" : "Tests/MLXTests",
"sources" : [
"ArrayAtTests.swift",
"DTypeTests.swift",
"ErrorTests.swift",
"ExportTests.swift",
"GPUTests.swift",
"IntegrationTests.swift",
"LinalgTests.swift",
"LossTests.swift",
"MLXArray+IndexingTests.swift",
"MLXArray+InitTests.swift",
"MLXArray+OpsTests.swift",
"MLXArrayTests.swift",
"MLXFastKernelTests.swift",
"MLXRandomTests.swift",
"ModuleTests.swift",
"NestedTests.swift",
"OpsTests.swift",
"OptimizerTests.swift",
"PoolingTests.swift",
"SaveTests.swift",
"StreamTests.swift",
"SubclassTests.swift",
"TransformTests.swift",
"UpsampleTests.swift",
"Utils.swift"
],
"target_dependencies" : [
"MLX",
"MLXRandom",
"MLXNN",
"MLXOptimizers",
"MLXFFT",
"MLXLinalg",
"MLXFast"
],
"type" : "test"
},
{
"c99name" : "MLXRandom",
"module_type" : "SwiftTarget",
"name" : "MLXRandom",
"path" : "Source/MLXRandom",
"product_memberships" : [
"MLXRandom",
"MLXNN",
"MLXOptimizers"
],
"sources" : [
"Random.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLXOptimizers",
"module_type" : "SwiftTarget",
"name" : "MLXOptimizers",
"path" : "Source/MLXOptimizers",
"product_memberships" : [
"MLXOptimizers"
],
"sources" : [
"Optimizers.swift"
],
"target_dependencies" : [
"MLX",
"MLXNN"
],
"type" : "library"
},
{
"c99name" : "MLXNN",
"module_type" : "SwiftTarget",
"name" : "MLXNN",
"path" : "Source/MLXNN",
"product_memberships" : [
"MLXNN",
"MLXOptimizers"
],
"sources" : [
"Activations.swift",
"Cache.swift",
"Containers.swift",
"Convolution.swift",
"ConvolutionTransposed.swift",
"Dropout.swift",
"Embedding.swift",
"Linear.swift",
"Losses.swift",
"Module.swift",
"Normalization.swift",
"Pooling.swift",
"PositionalEncoding.swift",
"Quantized.swift",
"Recurrent.swift",
"Transformer.swift",
"Upsample.swift",
"ValueAndGrad.swift"
],
"target_dependencies" : [
"MLX",
"MLXRandom",
"MLXFast"
],
"type" : "library"
},
{
"c99name" : "MLXLinalg",
"module_type" : "SwiftTarget",
"name" : "MLXLinalg",
"path" : "Source/MLXLinalg",
"product_memberships" : [
"MLXLinalg"
],
"sources" : [
"Linalg.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLXFast",
"module_type" : "SwiftTarget",
"name" : "MLXFast",
"path" : "Source/MLXFast",
"product_memberships" : [
"MLXNN",
"MLXOptimizers",
"MLXFast"
],
"sources" : [
"MLXFast.swift",
"MLXFastKernel.swift"
],
"target_dependencies" : [
"MLX",
"Cmlx"
],
"type" : "library"
},
{
"c99name" : "MLXFFT",
"module_type" : "SwiftTarget",
"name" : "MLXFFT",
"path" : "Source/MLXFFT",
"product_memberships" : [
"MLXFFT"
],
"sources" : [
"FFT.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLX",
"module_type" : "SwiftTarget",
"name" : "MLX",
"path" : "Source/MLX",
"product_dependencies" : [
"Numerics"
],
"product_memberships" : [
"MLX",
"MLXRandom",
"MLXNN",
"MLXOptimizers",
"MLXFFT",
"MLXLinalg",
"MLXFast",
"Tutorial",
"Example1"
],
"sources" : [
"ArrayAt.swift",
"Cmlx+Util.swift",
"DType.swift",
"Device.swift",
"ErrorHandler.swift",
"Export.swift",
"FFT.swift",
"Factory.swift",
"Foundation+Util.swift",
"GPU.swift",
"IO.swift",
"Linalg.swift",
"MLXArray+Bytes.swift",
"MLXArray+Indexing.swift",
"MLXArray+Init.swift",
"MLXArray+Ops.swift",
"MLXArray.swift",
"MLXFast.swift",
"MLXFastKernel.swift",
"Nested.swift",
"Ops+Array.swift",
"Ops.swift",
"ParameterTypes.swift",
"Protocols.swift",
"Random.swift",
"State.swift",
"Stream.swift",
"Transforms+Compile.swift",
"Transforms+Eval.swift",
"Transforms+Grad.swift",
"Transforms+Internal.swift",
"Transforms.swift"
],
"target_dependencies" : [
"Cmlx"
],
"type" : "library"
},
{
"c99name" : "Example1",
"module_type" : "SwiftTarget",
"name" : "Example1",
"path" : "Source/Examples",
"product_memberships" : [
"Example1"
],
"sources" : [
"Example1.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "executable"
},
{
"c99name" : "CmlxTests",
"module_type" : "SwiftTarget",
"name" : "CmlxTests",
"path" : "Tests/CmlxTests",
"sources" : [
"CmlxTests.swift"
],
"target_dependencies" : [
"Cmlx"
],
"type" : "test"
},
{
"c99name" : "Cmlx",
"module_type" : "ClangTarget",
"name" : "Cmlx",
"path" : "Source/Cmlx",
"product_memberships" : [
"MLX",
"MLXRandom",
"MLXNN",
"MLXOptimizers",
"MLXFFT",
"MLXLinalg",
"MLXFast",
"Tutorial",
"Example1"
],
"sources" : [
"fmt/src/format.cc",
"mlx-c/mlx/c/array.cpp",
"mlx-c/mlx/c/closure.cpp",
"mlx-c/mlx/c/compile.cpp",
"mlx-c/mlx/c/device.cpp",
"mlx-c/mlx/c/error.cpp",
"mlx-c/mlx/c/export.cpp",
"mlx-c/mlx/c/fast.cpp",
"mlx-c/mlx/c/fft.cpp",
"mlx-c/mlx/c/io.cpp",
"mlx-c/mlx/c/io_types.cpp",
"mlx-c/mlx/c/linalg.cpp",
"mlx-c/mlx/c/map.cpp",
"mlx-c/mlx/c/memory.cpp",
"mlx-c/mlx/c/metal.cpp",
"mlx-c/mlx/c/ops.cpp",
"mlx-c/mlx/c/random.cpp",
"mlx-c/mlx/c/stream.cpp",
"mlx-c/mlx/c/string.cpp",
"mlx-c/mlx/c/transforms.cpp",
"mlx-c/mlx/c/transforms_impl.cpp",
"mlx-c/mlx/c/vector.cpp",
"mlx-c/mlx/c/version.cpp",
"mlx-conditional/compiled_conditional.cpp",
"mlx-generated/arange.cpp",
"mlx-generated/binary.cpp",
"mlx-generated/binary_ops.cpp",
"mlx-generated/binary_two.cpp",
"mlx-generated/compiled_preamble.cpp",
"mlx-generated/conv.cpp",
"mlx-generated/copy.cpp",
"mlx-generated/fft.cpp",
"mlx-generated/gather.cpp",
"mlx-generated/gather_axis.cpp",
"mlx-generated/gemm.cpp",
"mlx-generated/gemv_masked.cpp",
"mlx-generated/hadamard.cpp",
"mlx-generated/logsumexp.cpp",
"mlx-generated/quantized.cpp",
"mlx-generated/reduce.cpp",
"mlx-generated/reduce_utils.cpp",
"mlx-generated/scan.cpp",
"mlx-generated/scatter.cpp",
"mlx-generated/scatter_axis.cpp",
"mlx-generated/softmax.cpp",
"mlx-generated/sort.cpp",
"mlx-generated/steel_conv.cpp",
"mlx-generated/steel_conv_general.cpp",
"mlx-generated/steel_gemm_fused.cpp",
"mlx-generated/steel_gemm_gather.cpp",
"mlx-generated/steel_gemm_masked.cpp",
"mlx-generated/steel_gemm_splitk.cpp",
"mlx-generated/ternary.cpp",
"mlx-generated/ternary_ops.cpp",
"mlx-generated/unary.cpp",
"mlx-generated/unary_ops.cpp",
"mlx-generated/utils.cpp",
"mlx/mlx/allocator.cpp",
"mlx/mlx/array.cpp",
"mlx/mlx/backend/common/broadcasting.cpp",
"mlx/mlx/backend/common/common.cpp",
"mlx/mlx/backend/common/compiled.cpp",
"mlx/mlx/backend/common/load.cpp",
"mlx/mlx/backend/common/reduce.cpp",
"mlx/mlx/backend/common/slicing.cpp",
"mlx/mlx/backend/common/utils.cpp",
"mlx/mlx/backend/cpu/arg_reduce.cpp",
"mlx/mlx/backend/cpu/binary.cpp",
"mlx/mlx/backend/cpu/cholesky.cpp",
"mlx/mlx/backend/cpu/conv.cpp",
"mlx/mlx/backend/cpu/copy.cpp",
"mlx/mlx/backend/cpu/distributed.cpp",
"mlx/mlx/backend/cpu/eigh.cpp",
"mlx/mlx/backend/cpu/encoder.cpp",
"mlx/mlx/backend/cpu/eval.cpp",
"mlx/mlx/backend/cpu/fft.cpp",
"mlx/mlx/backend/cpu/gemms/bnns.cpp",
"mlx/mlx/backend/cpu/gemms/cblas.cpp",
"mlx/mlx/backend/cpu/hadamard.cpp",
"mlx/mlx/backend/cpu/indexing.cpp",
"mlx/mlx/backend/cpu/inverse.cpp",
"mlx/mlx/backend/cpu/jit_compiler.cpp",
"mlx/mlx/backend/cpu/logsumexp.cpp",
"mlx/mlx/backend/cpu/luf.cpp",
"mlx/mlx/backend/cpu/masked_mm.cpp",
"mlx/mlx/backend/cpu/matmul.cpp",
"mlx/mlx/backend/cpu/primitives.cpp",
"mlx/mlx/backend/cpu/qrf.cpp",
"mlx/mlx/backend/cpu/quantized.cpp",
"mlx/mlx/backend/cpu/reduce.cpp",
"mlx/mlx/backend/cpu/scan.cpp",
"mlx/mlx/backend/cpu/select.cpp",
"mlx/mlx/backend/cpu/softmax.cpp",
"mlx/mlx/backend/cpu/sort.cpp",
"mlx/mlx/backend/cpu/svd.cpp",
"mlx/mlx/backend/cpu/threefry.cpp",
"mlx/mlx/backend/cpu/unary.cpp",
"mlx/mlx/backend/metal/allocator.cpp",
"mlx/mlx/backend/metal/binary.cpp",
"mlx/mlx/backend/metal/compiled.cpp",
"mlx/mlx/backend/metal/conv.cpp",
"mlx/mlx/backend/metal/copy.cpp",
"mlx/mlx/backend/metal/custom_kernel.cpp",
"mlx/mlx/backend/metal/device.cpp",
"mlx/mlx/backend/metal/distributed.cpp",
"mlx/mlx/backend/metal/event.cpp",
"mlx/mlx/backend/metal/fence.cpp",
"mlx/mlx/backend/metal/fft.cpp",
"mlx/mlx/backend/metal/hadamard.cpp",
"mlx/mlx/backend/metal/indexing.cpp",
"mlx/mlx/backend/metal/jit_kernels.cpp",
"mlx/mlx/backend/metal/logsumexp.cpp",
"mlx/mlx/backend/metal/matmul.cpp",
"mlx/mlx/backend/metal/metal.cpp",
"mlx/mlx/backend/metal/normalization.cpp",
"mlx/mlx/backend/metal/primitives.cpp",
"mlx/mlx/backend/metal/quantized.cpp",
"mlx/mlx/backend/metal/reduce.cpp",
"mlx/mlx/backend/metal/resident.cpp",
"mlx/mlx/backend/metal/rope.cpp",
"mlx/mlx/backend/metal/scaled_dot_product_attention.cpp",
"mlx/mlx/backend/metal/scan.cpp",
"mlx/mlx/backend/metal/slicing.cpp",
"mlx/mlx/backend/metal/softmax.cpp",
"mlx/mlx/backend/metal/sort.cpp",
"mlx/mlx/backend/metal/ternary.cpp",
"mlx/mlx/backend/metal/unary.cpp",
"mlx/mlx/backend/metal/utils.cpp",
"mlx/mlx/compile.cpp",
"mlx/mlx/device.cpp",
"mlx/mlx/distributed/distributed.cpp",
"mlx/mlx/distributed/mpi/no_mpi.cpp",
"mlx/mlx/distributed/ops.cpp",
"mlx/mlx/distributed/primitives.cpp",
"mlx/mlx/distributed/ring/no_ring.cpp",
"mlx/mlx/dtype.cpp",
"mlx/mlx/dtype_utils.cpp",
"mlx/mlx/einsum.cpp",
"mlx/mlx/export.cpp",
"mlx/mlx/fast.cpp",
"mlx/mlx/fft.cpp",
"mlx/mlx/graph_utils.cpp",
"mlx/mlx/io/load.cpp",
"mlx/mlx/io/no_gguf.cpp",
"mlx/mlx/io/safetensors.cpp",
"mlx/mlx/linalg.cpp",
"mlx/mlx/ops.cpp",
"mlx/mlx/primitives.cpp",
"mlx/mlx/random.cpp",
"mlx/mlx/scheduler.cpp",
"mlx/mlx/transforms.cpp",
"mlx/mlx/utils.cpp",
"mlx/mlx/version.cpp"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" 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:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Fetching https://github.com/apple/swift-numerics
[1/5706] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (0.47s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.0.3 (2.65s)
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...
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: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-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/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: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-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/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: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-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/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: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-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);
| ^
18 errors generated.
[0/177] Compiling device.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-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/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-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/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-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/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-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);
| ^
18 errors generated.
[0/177] 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-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/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-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/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-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/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-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);
| ^
18 errors generated.
[0/177] Compiling export.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-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/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-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/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-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/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-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);
| ^
18 errors generated.
[0/177] Compiling io_types.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-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/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-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/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-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/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-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);
| ^
[0/177] Compiling fast.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-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/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-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/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-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/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-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);
| ^
18 errors generated.
[0/177] Compiling linalg.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: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-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/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: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-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/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: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-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/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: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-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);
| ^
[0/177] Compiling compile.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: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-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/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: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-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/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: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-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/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: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-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);
| ^
[0/177] Compiling closure.cpp
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" 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:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
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
[0/1] Planning build
Building for debugging...
[0/177] Write sources
[12/177] Compiling _NumericsShims _NumericsShims.c
[13/177] Write swift-version-24593BA9C3E375BF.txt
[14/177] Compiling version.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:19:8: error: no type named 'mutex' in namespace 'std'
19 | std::mutex mtx;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:21:8: error: no type named 'condition_variable' in namespace 'std'
21 | std::condition_variable cond;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:23:8: error: no type named 'thread' in namespace 'std'
23 | std::thread thread;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:29:28: error: no member named 'mutex' in namespace 'std'
29 | std::lock_guard<std::mutex> lk(mtx);
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:40:14: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
40 | 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/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:40:31: error: no member named 'mutex' in namespace 'std'
40 | std::unique_lock<std::mutex> lk(mtx);
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:41:19: error: use of undeclared identifier 'lk'
41 | cond.wait(lk, [this] { return !this->q.empty() || this->stop; });
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:56:28: error: no member named 'mutex' in namespace 'std'
56 | std::lock_guard<std::mutex> lk(mtx);
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:153:8: error: no type named 'condition_variable' in namespace 'std'
153 | std::condition_variable completion_cv;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:154:8: error: no type named 'mutex' in namespace 'std'
154 | std::mutex mtx;
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:109:28: error: no member named 'mutex' in namespace 'std'
109 | std::lock_guard<std::mutex> lk(mtx);
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:117:28: error: no member named 'mutex' in namespace 'std'
117 | std::lock_guard<std::mutex> lk(mtx);
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:128:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
128 | 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/Source/Cmlx/mlx/mlx/scheduler.cpp:3:
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:128:27: error: no member named 'mutex' in namespace 'std'
128 | std::unique_lock<std::mutex> lk(mtx);
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.h:131:26: error: use of undeclared identifier 'lk'
131 | completion_cv.wait(lk, [this, n_tasks_old] {
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:42:36: error: no member named 'promise' in namespace 'std'
42 | auto p = std::make_shared<std::promise<void>>();
| ~~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:42:48: error: expected '(' for function-style cast or type construction
42 | auto p = std::make_shared<std::promise<void>>();
| ~~~~^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:42:51: error: expected expression
42 | auto p = std::make_shared<std::promise<void>>();
| ^
/host/spi-builder-workspace/Source/Cmlx/mlx/mlx/scheduler.cpp:43:10: error: no member named 'future' in namespace 'std'
43 | std::future<void> f = p->get_future();
| ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[15/187] Compiling scheduler.cpp
[15/187] Compiling ops.cpp
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/random.cpp:8:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/primitives.h:9:
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-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) {
| ^
[15/187] Compiling random.cpp
[15/187] Compiling utils.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:9:
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-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/Source/Cmlx/mlx/mlx/primitives.cpp:17:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/primitives.h:9:
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-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/Source/Cmlx/mlx/mlx/primitives.cpp:17:
In file included from /host/spi-builder-workspace/Source/Cmlx/mlx/mlx/primitives.h:9:
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::t[15/187] Compiling primitives.cpp
[15/187] Compiling linalg.cpp
[15/187] Compiling transforms.cpp
BUILD FAILURE 6.1 wasm