Build Information
Failed to build manifold-swift, reference 1.1.3 (3f92d5), with Swift 6.2 for Wasm on 13 Oct 2026 08:06:01 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344849-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tomasf/manifold-swift.git
Reference: 1.1.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/tomasf/manifold-swift
* tag 1.1.3 -> FETCH_HEAD
HEAD is now at 3f92d58 Merge branch 'dev'
Submodule path 'External/clipper2': checked out 'ef88ee97c0e759792e43a2b2d8072def6c9244e8'
Submodule path 'External/manifold': checked out '541c33bd2ab9b1a72816bdecff90566c0a3ee56c'
Submodule path 'External/oneTBB': checked out 'ab7761b71fd4d4b80c7b833149feadd4bbdf6918'
Submodule 'clipper2' (https://github.com/AngusJohnson/Clipper2) registered for path 'External/clipper2'
Submodule 'manifold' (https://github.com/elalish/manifold.git) registered for path 'External/manifold'
Submodule 'oneTBB' (https://github.com/tomasf/oneTBB.git) registered for path 'External/oneTBB'
Cloning into '/host/spi-builder-workspace/External/clipper2'...
Cloning into '/host/spi-builder-workspace/External/manifold'...
Cloning into '/host/spi-builder-workspace/External/oneTBB'...
Cloned https://github.com/tomasf/manifold-swift.git
Revision (git rev-parse @):
3f92d58a33bbc9b18c4357e33cdd56891b76eb62
SUCCESS checkout https://github.com/tomasf/manifold-swift.git at 1.1.3
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/tomasf/manifold-swift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344849-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1
wasm-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:c092ff8dc506a2a30e6239b6992792fd4f7dfaaa46cac3b3c48d8fe35e954282
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest
Building for debugging...
In file included from /host/spi-builder-workspace/Sources/ManifoldBridge/src/bridge.cpp:2:
/host/spi-builder-workspace/External/manifold/include/manifold/manifold.h:333:32: error: no member named 'mutex' in namespace 'std'
333 | mutable std::shared_ptr<std::mutex> pNodeMutex_ =
| ~~~~~^
In file included from /host/spi-builder-workspace/Sources/ManifoldBridge/src/bridge.cpp:3:
/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h:179:32: error: no member named 'mutex' in namespace 'std'
179 | mutable std::shared_ptr<std::mutex> pathsMutex_ =
| ~~~~~^
2 errors generated.
[0/26] Compiling bridge.cpp
[0/26] Compiling clipper.offset.cpp
In file included from /host/spi-builder-workspace/External/manifold/src/constructors.cpp:15:
In file included from /host/spi-builder-workspace/External/manifold/src/csg_tree.h:16:
/host/spi-builder-workspace/External/manifold/include/manifold/manifold.h:333:32: error: no member named 'mutex' in namespace 'std'
333 | mutable std::shared_ptr<std::mutex> pNodeMutex_ =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/constructors.cpp:15:
In file included from /host/spi-builder-workspace/External/manifold/src/csg_tree.h:17:
/host/spi-builder-workspace/External/manifold/src/utils.h:96:25: error: no type named 'recursive_mutex' in namespace 'std'
96 | SharedPtrGuard(std::recursive_mutex* mutex, T* content)
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:106:10: error: no type named 'recursive_mutex' in namespace 'std'
106 | std::recursive_mutex* mutex;
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:114:24: error: no member named 'recursive_mutex' in namespace 'std'
114 | std::shared_ptr<std::recursive_mutex> mutex =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/constructors.cpp:17:
/host/spi-builder-workspace/External/manifold/src/impl.h:244:13: error: no type named 'mutex' in namespace 'std'
244 | extern std::mutex dump_lock;
| ~~~~~^
[0/26] Compiling constructors.cpp
In file included from /host/spi-builder-workspace/External/manifold/src/cross_section/cross_section.cpp:15:
/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h:179:32: error: no member named 'mutex' in namespace 'std'
179 | mutable std::shared_ptr<std::mutex> pathsMutex_ =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/cross_section/cross_section.cpp:17:
/host/spi-builder-workspace/External/manifold/src/cross_section/../utils.h:96:25: error: no type named 'recursive_mutex' in namespace 'std'
96 | SharedPtrGuard(std::recursive_mutex* mutex, T* content)
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/cross_section/../utils.h:106:10: error: no type named 'recursive_mutex' in namespace 'std'
106 | std::recursive_mutex* mutex;
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/cross_section/../utils.h:114:24: error: no member named 'recursive_mutex' in namespace 'std'
114 | std::shared_ptr<std::recursive_mutex> mutex =
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/cross_section/cross_section.cpp:231:24: error: no member named 'mutex' in namespace 'std'
231 | std::lock_guard<std::mutex> lock(*other.pathsMutex_);
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/cross_section/cross_section.cpp:238:21: error: expected ';' after expression
238 | std::scoped_lock lock(*pathsMutex_, *other.pathsMutex_);
| ^
| ;
/host/spi-builder-workspace/External/manifold/src/cross_section/cross_section.cpp:238:10: error: no member named 'scoped_lock' in namespace 'std'; did you mean 'adopt_lock'?
238 | std::scoped_lock lock(*pathsMutex_, *other.pathsMutex_);
| ~~~~~^~~~~~~~~~~
| adopt_lock
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__mutex/tag_types.h:35:31: note: 'adopt_lock' declared here
35 | inline constexpr adopt_lock_t adopt_lock = adopt_lock_t();
| ^
[0/26] Compiling cross_section.cpp
[0/26] Compiling clipper.rectclip.cpp
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.cpp:15:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
In file included from /host/spi-builder-workspace/External/manifold/src/impl.h:18:
In file included from /host/spi-builder-workspace/External/manifold/src/collider.h:19:
/host/spi-builder-workspace/External/manifold/src/utils.h:96:25: error: no type named 'recursive_mutex' in namespace 'std'
96 | SharedPtrGuard(std::recursive_mutex* mutex, T* content)
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:106:10: error: no type named 'recursive_mutex' in namespace 'std'
106 | std::recursive_mutex* mutex;
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:114:24: error: no member named 'recursive_mutex' in namespace 'std'
114 | std::shared_ptr<std::recursive_mutex> mutex =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.cpp:15:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
In file included from /host/spi-builder-workspace/External/manifold/src/impl.h:20:
/host/spi-builder-workspace/External/manifold/include/manifold/manifold.h:333:32: error: no member named 'mutex' in namespace 'std'
333 | mutable std::shared_ptr<std::mutex> pNodeMutex_ =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.cpp:15:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
/host/spi-builder-workspace/External/manifold/src/impl.h:244:13: error: no type named 'mutex' in namespace 'std'
244 | extern std::mutex dump_lock;
| ~~~~~^
[0/26] Compiling boolean3.cpp
In file included from /host/spi-builder-workspace/External/manifold/src/csg_tree.cpp:22:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
In file included from /host/spi-builder-workspace/External/manifold/src/impl.h:18:
In file included from /host/spi-builder-workspace/External/manifold/src/collider.h:19:
/host/spi-builder-workspace/External/manifold/src/utils.h:96:25: error: no type named 'recursive_mutex' in namespace 'std'
96 | SharedPtrGuard(std::recursive_mutex* mutex, T* content)
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:106:10: error: no type named 'recursive_mutex' in namespace 'std'
106 | std::recursive_mutex* mutex;
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:114:24: error: no member named 'recursive_mutex' in namespace 'std'
114 | std::shared_ptr<std::recursive_mutex> mutex =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/csg_tree.cpp:22:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
In file included from /host/spi-builder-workspace/External/manifold/src/impl.h:20:
/host/spi-builder-workspace/External/manifold/include/manifold/manifold.h:333:32: error: no member named 'mutex' in namespace 'std'
333 | mutable std::shared_ptr<std::mutex> pNodeMutex_ =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/csg_tree.cpp:22:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
/host/spi-builder-workspace/External/manifold/src/impl.h:244:13: error: no type named 'mutex' in namespace 'std'
244 | extern std::mutex dump_lock;
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/csg_tree.cpp:58:10: error: no viable conversion from returned value of type 'shared_ptr<manifold::CsgOpNode>' to function return type 'shared_ptr<CsgNode>'
58 | return std::make_shared<CsgOpNode>(children, op);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:438:43: note: candidate constructor not viable: no known conversion from 'shared_ptr<CsgOpNode>' to 'nullptr_t' (aka 'std::nullptr_t') for 1st argument
438 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT : __ptr_(nullptr), __cntrl_(nullptr) {}
| ^ ~~~~~~~~~
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:583:25: note: candidate constructor not viable: no known conversion from 'shared_ptr<CsgOpNode>' to 'const shared_ptr<CsgNode> &' for 1st argument
583 | _LIBCPP_HIDE_FROM_ABI shared_ptr(const shared_ptr& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) {
| ^ ~~~~~~~~~~~~~~~~~~~~~
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:594:25: note: candidate constructor not viable: no known conversion from 'shared_ptr<CsgOpNode>' to 'shared_ptr<CsgNode> &&' for 1st argument
594 | _LIBCPP_HIDE_FROM_ABI shared_ptr(shared_ptr&& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) {
| ^ ~~~~~~~~~~~~~~~~
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:589:25: note: candidate template ignored: requirement '__compatible_with<manifold::CsgOpNode, manifold::CsgNode>::value' was not satisfied [with _Yp = manifold::CsgOpNode]
589 | _LIBCPP_HIDE_FROM_ABI shared_ptr(const shared_ptr<_Yp>& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) {
| ^
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:600:25: note: candidate template ignored: requirement '__compatible_with<manifold::CsgOpNode, manifold::CsgNode>::value' was not satisfied [with _Yp = manifold::CsgOpNode]
600 | _LIBCPP_HIDE_FROM_ABI shared_ptr(shared_ptr<_Yp>&& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) {
| ^
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:627:25: note: candidate template ignored: could not match 'unique_ptr' against 'shared_ptr'
627 | _LIBCPP_HIDE_FROM_ABI shared_ptr(unique_ptr<_Yp, _Dp>&& __r) : __ptr_(__r.get()) {
| ^
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:648:25: note: candidate template ignored: could not match 'unique_ptr' against 'shared_ptr'
648 | _LIBCPP_HIDE_FROM_ABI shared_ptr(unique_ptr<_Yp, _Dp>&& __r) : __ptr_(__r.get()) {
| ^
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:451:34: note: explicit constructor is not a candidate
451 | _LIBCPP_HIDE_FROM_ABI explicit shared_ptr(_Yp* __p) : __ptr_(__p) {
| ^
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/c++/v1/__memory/shared_ptr.h:606:34: note: explicit constructor is not a candidate
606 | _LIBCPP_HIDE_FROM_ABI explicit shared_ptr(const weak_ptr<_Yp>& __r)
| ^
[0/26] Compiling csg_tree.cpp
In file included from /host/spi-builder-workspace/External/manifold/src/boolean_result.cpp:20:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
In file included from /host/spi-builder-workspace/External/manifold/src/impl.h:18:
In file included from /host/spi-builder-workspace/External/manifold/src/collider.h:19:
/host/spi-builder-workspace/External/manifold/src/utils.h:96:25: error: no type named 'recursive_mutex' in namespace 'std'
96 | SharedPtrGuard(std::recursive_mutex* mutex, T* content)
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:106:10: error: no type named 'recursive_mutex' in namespace 'std'
106 | std::recursive_mutex* mutex;
| ~~~~~^
/host/spi-builder-workspace/External/manifold/src/utils.h:114:24: error: no member named 'recursive_mutex' in namespace 'std'
114 | std::shared_ptr<std::recursive_mutex> mutex =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/boolean_result.cpp:20:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
In file included from /host/spi-builder-workspace/External/manifold/src/impl.h:20:
/host/spi-builder-workspace/External/manifold/include/manifold/manifold.h:333:32: error: no member named 'mutex' in namespace 'std'
333 | mutable std::shared_ptr<std::mutex> pNodeMutex_ =
| ~~~~~^
In file included from /host/spi-builder-workspace/External/manifold/src/boolean_result.cpp:20:
In file included from /host/spi-builder-workspace/External/manifold/src/boolean3.h:17:
/host/spi-builder-workspace/External/manifold/src/impl.h:244:13: error: no type named 'mutex' in namespace 'std'
244 | extern std::mutex dump_lock;
| ~~~~~^
[0/26] Compiling boolean_result.cpp
BUILD FAILURE 6.2 wasm