The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build USearch, reference v2.17.12 (68e403), with Swift 6.1 for Wasm on 12 Jun 2025 20:05:48 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.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/unum-cloud/usearch.git
Reference: v2.17.12
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/unum-cloud/usearch
 * tag               v2.17.12   -> FETCH_HEAD
HEAD is now at 68e403a Release: v2.17.12 [skip ci] ### Patch
Submodule path 'fp16': checked out '0a92994d729ff76a58f692d3028ca1b64b145d91'
Submodule path 'simsimd': checked out '9a4d32548b2f65dcdfef21df7a0d7caef848627f'
Submodule path 'stringzilla': checked out '960967d78c7facf6de2de9d5eecc0ac7f5ce19b8'
Submodule 'fp16' (https://github.com/maratyszcza/fp16) registered for path 'fp16'
Submodule 'simsimd' (https://github.com/ashvardanian/simsimd) registered for path 'simsimd'
Submodule 'stringzilla' (https://github.com/ashvardanian/stringzilla) registered for path 'stringzilla'
Cloning into '/host/spi-builder-workspace/fp16'...
Cloning into '/host/spi-builder-workspace/simsimd'...
Cloning into '/host/spi-builder-workspace/stringzilla'...
Cloned https://github.com/unum-cloud/usearch.git
Revision (git rev-parse @):
68e403aef75311313570af5340a2612777d3a986
SUCCESS checkout https://github.com/unum-cloud/usearch.git at v2.17.12
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/unum-cloud/usearch.git
https://github.com/unum-cloud/usearch.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "cxx_language_standard" : "c++11",
  "dependencies" : [
  ],
  "manifest_display_name" : "USearch",
  "name" : "USearch",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "USearch",
      "targets" : [
        "USearch"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "USearchTestsSwift",
      "module_type" : "SwiftTarget",
      "name" : "USearchTestsSwift",
      "path" : "swift",
      "sources" : [
        "Test.swift"
      ],
      "target_dependencies" : [
        "USearch"
      ],
      "type" : "test"
    },
    {
      "c99name" : "USearchC",
      "module_type" : "ClangTarget",
      "name" : "USearchC",
      "path" : "c",
      "product_memberships" : [
        "USearch"
      ],
      "sources" : [
        "lib.cpp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "USearch",
      "module_type" : "SwiftTarget",
      "name" : "USearch",
      "path" : "swift",
      "product_memberships" : [
        "USearch"
      ],
      "sources" : [
        "USearchIndex+Sugar.swift",
        "USearchIndex.swift",
        "Util.swift"
      ],
      "target_dependencies" : [
        "USearchC"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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
Building for debugging...
[0/3] Write sources
[1/3] Write swift-version-24593BA9C3E375BF.txt
In file included from /host/spi-builder-workspace/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
In file included from /host/spi-builder-workspace/include/usearch/index.hpp:82:
/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/sys/mman.h:2:2: error: "WASI lacks a true mmap; to enable minimal mmap emulation, compile with -D_WASI_EMULATED_MMAN and link with -lwasi-emulated-mman"
    2 | #error "WASI lacks a true mmap; to enable minimal mmap emulation, \
      |  ^
In file included from /host/spi-builder-workspace/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:192:12: warning: shift count >= width of type [-Wshift-count-overflow]
  192 |     v |= v >> 32;
      |            ^  ~~
/host/spi-builder-workspace/include/usearch/index.hpp:1006:9: warning: 'memcpy' will always overflow; destination buffer has size 4, but size argument is 5 [-Wfortify-source]
 1006 |         std::memcpy(&result, octets, 5);
      |         ^
/host/spi-builder-workspace/include/usearch/index.hpp:1404:36: error: no member named 'thread' in namespace 'std'
 1404 |     std::size_t threads_add = std::thread::hardware_concurrency();
      |                               ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:1406:39: error: no member named 'thread' in namespace 'std'
 1406 |     std::size_t threads_search = std::thread::hardware_concurrency();
      |                                  ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:1409:80: error: no member named 'thread' in namespace 'std'
 1409 |     inline index_limits_t(std::size_t n = 0) noexcept : index_limits_t(n, std::thread::hardware_concurrency()) {}
      |                                                                           ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:1817:63: error: use of undeclared identifier 'PROT_READ'
 1817 |         byte_t* file = (byte_t*)mmap(NULL, file_stat.st_size, PROT_READ, MAP_SHARED, descriptor, 0);
      |                                                               ^
/host/spi-builder-workspace/include/usearch/index.hpp:1817:74: error: use of undeclared identifier 'MAP_SHARED'
 1817 |         byte_t* file = (byte_t*)mmap(NULL, file_stat.st_size, PROT_READ, MAP_SHARED, descriptor, 0);
      |                                                                          ^
/host/spi-builder-workspace/include/usearch/index.hpp:1818:21: error: use of undeclared identifier 'MAP_FAILED'
 1818 |         if (file == MAP_FAILED) {
      |                     ^
/host/spi-builder-workspace/include/usearch/index.hpp:1842:9: error: use of undeclared identifier 'munmap'
 1842 |         munmap(ptr_, length_);
      |         ^
/host/spi-builder-workspace/include/usearch/index.hpp:2251:10: error: no type named 'mutex' in namespace 'std'
 2251 |     std::mutex global_mutex_{};
      |     ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:2746:14: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 2746 |         std::unique_lock<std::mutex> new_level_lock(global_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:2746:31: error: no member named 'mutex' in namespace 'std'
 2746 |         std::unique_lock<std::mutex> new_level_lock(global_mutex_);
      |                          ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:2766:13: error: use of undeclared identifier 'new_level_lock'
 2766 |             new_level_lock.unlock();
      |             ^
/host/spi-builder-workspace/include/usearch/index.hpp:2890:18: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 2890 |             std::unique_lock<std::mutex> new_level_lock(global_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:2890:35: error: no member named 'mutex' in namespace 'std'
 2890 |             std::unique_lock<std::mutex> new_level_lock(global_mutex_);
      |                              ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:4352:10: error: no type named 'mutex' in namespace 'std'
 4352 |     std::mutex free_men_mutex{};
      |     ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:4395:22: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 4395 |                 std::unique_lock<std::mutex> pop_lock(free_men_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:4395:39: error: no member named 'mutex' in namespace 'std'
 4395 |                 std::unique_lock<std::mutex> pop_lock(free_men_mutex);
      |                                  ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:4451:26: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 4451 |                     std::unique_lock<std::mutex> push_lock(free_men_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:4451:43: error: no member named 'mutex' in namespace 'std'
 4451 |                     std::unique_lock<std::mutex> push_lock(free_men_mutex);
      |                                      ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
[2/3] Compiling USearchC lib.cpp
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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 4 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/swift/USearchIndex.swift
    /host/spi-builder-workspace/swift/Util.swift
    /host/spi-builder-workspace/swift/README.md
    /host/spi-builder-workspace/swift/USearchIndex+Sugar.swift
[0/1] Planning build
Building for debugging...
[0/2] Write swift-version-24593BA9C3E375BF.txt
In file included from /host/spi-builder-workspace/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
In file included from /host/spi-builder-workspace/include/usearch/index.hpp:82:
/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/sys/mman.h:2:2: error: "WASI lacks a true mmap; to enable minimal mmap emulation, compile with -D_WASI_EMULATED_MMAN and link with -lwasi-emulated-mman"
    2 | #error "WASI lacks a true mmap; to enable minimal mmap emulation, \
      |  ^
In file included from /host/spi-builder-workspace/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:192:12: warning: shift count >= width of type [-Wshift-count-overflow]
  192 |     v |= v >> 32;
      |            ^  ~~
/host/spi-builder-workspace/include/usearch/index.hpp:1006:9: warning: 'memcpy' will always overflow; destination buffer has size 4, but size argument is 5 [-Wfortify-source]
 1006 |         std::memcpy(&result, octets, 5);
      |         ^
/host/spi-builder-workspace/include/usearch/index.hpp:1404:36: error: no member named 'thread' in namespace 'std'
 1404 |     std::size_t threads_add = std::thread::hardware_concurrency();
      |                               ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:1406:39: error: no member named 'thread' in namespace 'std'
 1406 |     std::size_t threads_search = std::thread::hardware_concurrency();
      |                                  ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:1409:80: error: no member named 'thread' in namespace 'std'
 1409 |     inline index_limits_t(std::size_t n = 0) noexcept : index_limits_t(n, std::thread::hardware_concurrency()) {}
      |                                                                           ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:1817:63: error: use of undeclared identifier 'PROT_READ'
 1817 |         byte_t* file = (byte_t*)mmap(NULL, file_stat.st_size, PROT_READ, MAP_SHARED, descriptor, 0);
      |                                                               ^
/host/spi-builder-workspace/include/usearch/index.hpp:1817:74: error: use of undeclared identifier 'MAP_SHARED'
 1817 |         byte_t* file = (byte_t*)mmap(NULL, file_stat.st_size, PROT_READ, MAP_SHARED, descriptor, 0);
      |                                                                          ^
/host/spi-builder-workspace/include/usearch/index.hpp:1818:21: error: use of undeclared identifier 'MAP_FAILED'
 1818 |         if (file == MAP_FAILED) {
      |                     ^
/host/spi-builder-workspace/include/usearch/index.hpp:1842:9: error: use of undeclared identifier 'munmap'
 1842 |         munmap(ptr_, length_);
      |         ^
/host/spi-builder-workspace/include/usearch/index.hpp:2251:10: error: no type named 'mutex' in namespace 'std'
 2251 |     std::mutex global_mutex_{};
      |     ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:2746:14: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 2746 |         std::unique_lock<std::mutex> new_level_lock(global_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:2746:31: error: no member named 'mutex' in namespace 'std'
 2746 |         std::unique_lock<std::mutex> new_level_lock(global_mutex_);
      |                          ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:2766:13: error: use of undeclared identifier 'new_level_lock'
 2766 |             new_level_lock.unlock();
      |             ^
/host/spi-builder-workspace/include/usearch/index.hpp:2890:18: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 2890 |             std::unique_lock<std::mutex> new_level_lock(global_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:2890:35: error: no member named 'mutex' in namespace 'std'
 2890 |             std::unique_lock<std::mutex> new_level_lock(global_mutex_);
      |                              ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:4352:10: error: no type named 'mutex' in namespace 'std'
 4352 |     std::mutex free_men_mutex{};
      |     ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:4395:22: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 4395 |                 std::unique_lock<std::mutex> pop_lock(free_men_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:4395:39: error: no member named 'mutex' in namespace 'std'
 4395 |                 std::unique_lock<std::mutex> pop_lock(free_men_mutex);
      |                                  ~~~~~^
/host/spi-builder-workspace/include/usearch/index.hpp:4451:26: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
 4451 |                     std::unique_lock<std::mutex> push_lock(free_men_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/c/lib.cpp:3:
In file included from /host/spi-builder-workspace/include/usearch/index_dense.hpp:8:
/host/spi-builder-workspace/include/usearch/index.hpp:4451:43: error: no member named 'mutex' in namespace 'std'
 4451 |                     std::unique_lock<std::mutex> push_lock(free_men_mutex);
      |                                      ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
[1/2] Compiling USearchC lib.cpp
BUILD FAILURE 6.1 wasm