The Swift Package Index logo.Swift Package Index

Build Information

Failed to build XGrammar, reference main (e0f2de), with Swift 6.1 for Wasm on 7 Apr 2026 17:57:46 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.69.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mattt/swift-xgrammar.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/mattt/swift-xgrammar
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e0f2de3 Add CI workflow (#1)
Cloned https://github.com/mattt/swift-xgrammar.git
Revision (git rev-parse @):
e0f2de361aa4891dbca5113629bc90ab8e5c3888
SUCCESS checkout https://github.com/mattt/swift-xgrammar.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/mattt/swift-xgrammar.git
https://github.com/mattt/swift-xgrammar.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "cxx_language_standard" : "c++17",
  "dependencies" : [
  ],
  "manifest_display_name" : "XGrammar",
  "name" : "XGrammar",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "XGrammar",
      "targets" : [
        "XGrammar"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "XGrammarTests",
      "module_type" : "SwiftTarget",
      "name" : "XGrammarTests",
      "path" : "Tests/XGrammarTests",
      "sources" : [
        "CompilerTests.swift",
        "ConfigurationTests.swift",
        "ErrorTests.swift",
        "GrammarCompositionTests.swift",
        "GrammarTests.swift",
        "Helpers.swift",
        "JSONSchemaTests.swift",
        "MatcherTests.swift",
        "RegexGrammarTests.swift",
        "StructuralTagTests.swift",
        "TokenBitmaskTests.swift",
        "TokenizerInfoTests.swift"
      ],
      "target_dependencies" : [
        "XGrammar"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XGrammar",
      "module_type" : "SwiftTarget",
      "name" : "XGrammar",
      "path" : "Sources/XGrammar",
      "product_memberships" : [
        "XGrammar"
      ],
      "sources" : [
        "Bridging.swift",
        "Compiler.swift",
        "Configuration.swift",
        "Errors.swift",
        "Formatting.swift",
        "Grammar.swift",
        "Matcher.swift",
        "TokenizerInfo.swift"
      ],
      "target_dependencies" : [
        "Cxgrammar"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Cxgrammar",
      "module_type" : "ClangTarget",
      "name" : "Cxgrammar",
      "path" : "Sources/Cxgrammar",
      "product_memberships" : [
        "XGrammar"
      ],
      "sources" : [
        "bridging.cc",
        "cpp/compiled_grammar.cc",
        "cpp/config.cc",
        "cpp/earley_parser.cc",
        "cpp/fsm.cc",
        "cpp/fsm_builder.cc",
        "cpp/grammar.cc",
        "cpp/grammar_compiler.cc",
        "cpp/grammar_functor.cc",
        "cpp/grammar_matcher.cc",
        "cpp/grammar_parser.cc",
        "cpp/grammar_printer.cc",
        "cpp/json_schema_converter.cc",
        "cpp/regex_converter.cc",
        "cpp/structural_tag.cc",
        "cpp/support/logging.cc",
        "cpp/support/recursion_guard.cc",
        "cpp/testing.cc",
        "cpp/tokenizer_info.cc"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
wasm-6.1-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:276d66a16377d3ee059b2e3429cbc1154d9f01e42871e5d702fd5d8b9044d93d
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest
Building for debugging...
[0/21] Write sources
[1/21] Write swift-version-24593BA9C3E375BF.txt
[2/21] Compiling logging.cc
[3/21] Compiling recursion_guard.cc
[4/21] Compiling regex_converter.cc
[5/21] Compiling testing.cc
[6/21] Compiling grammar_printer.cc
[7/21] Compiling tokenizer_info.cc
[8/21] Compiling json_schema_converter.cc
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:71:46: error: no template named 'shared_future' in namespace 'std'; did you mean 'shared_ptr'?
   71 |   auto Submit(F&& f, Args&&... args) -> std::shared_future<std::invoke_result_t<F, Args...>> {
      |                                         ~~~~~^~~~~~~~~~~~~
      |                                              shared_ptr
/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/__memory/shared_ptr.h:416:59: note: 'shared_ptr' declared here
  416 | class _LIBCPP_SHARED_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS shared_ptr {
      |                                                           ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:160:20: error: no member named 'thread' in namespace 'std'; did you mean 'fread'?
  160 |   std::vector<std::thread> workers_;
      |               ~~~~~^~~~~~
      |                    fread
/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/cstdio:141:9: note: 'fread' declared here
  141 | using ::fread _LIBCPP_USING_IF_EXISTS;
      |         ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:160:15: error: template argument for template type parameter must be a type
  160 |   std::vector<std::thread> workers_;
      |               ^~~~~~~~~~~
/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/vector:388:17: note: template parameter is declared here
  388 | template <class _Tp, class _Allocator /* = allocator<_Tp> */>
      |                 ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:164:8: error: no type named 'mutex' in namespace 'std'
  164 |   std::mutex queue_mutex_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:166:8: error: no type named 'condition_variable' in namespace 'std'
  166 |   std::condition_variable queue_condition_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:168:8: error: no type named 'condition_variable' in namespace 'std'
  168 |   std::condition_variable tasks_done_condition_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:36:40: error: no member named 'thread' in namespace 'std'
   36 |   ThreadPool(size_t num_threads = std::thread::hardware_concurrency()) {
      |                                   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:44:18: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   44 |             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/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:44:35: error: no member named 'mutex' in namespace 'std'
   44 |             std::unique_lock<std::mutex> lock(queue_mutex_);
      |                              ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:45:35: error: use of undeclared identifier 'lock'; did you mean 'clock'?
   45 |             queue_condition_.wait(lock, [this] { return shutdown_ || !task_queue_.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);
      |         ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:75:39: error: no member named 'packaged_task' in namespace 'std'
   75 |     auto task = std::make_shared<std::packaged_task<return_type()>>(
      |                                  ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:79:10: error: no template named 'shared_future' in namespace 'std'; did you mean 'shared_ptr'?
   79 |     std::shared_future<return_type> res = task->get_future().share();
      |     ~~~~~^~~~~~~~~~~~~
      |          shared_ptr
/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/__memory/shared_ptr.h:416:59: note: 'shared_ptr' declared here
  416 | class _LIBCPP_SHARED_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS shared_ptr {
      |                                                           ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:82:12: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   82 |       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/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:82:29: error: no member named 'mutex' in namespace 'std'
   82 |       std::unique_lock<std::mutex> lock(queue_mutex_);
      |                        ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:104:12: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  104 |       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/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:104:29: error: no member named 'mutex' in namespace 'std'
  104 |       std::unique_lock<std::mutex> lock(queue_mutex_);
      |                        ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:115:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  115 |     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/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:115:27: error: no member named 'mutex' in namespace 'std'
  115 |     std::unique_lock<std::mutex> lock(queue_mutex_);
      |                      ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:116:32: error: use of undeclared identifier 'lock'; did you mean 'clock'?
  116 |     tasks_done_condition_.wait(lock, [this] { return unfinished_task_count_ == 0; });
      |                                ^~~~
      |                                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);
      |         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[9/21] Compiling grammar_matcher.cc
[9/21] Compiling fsm.cc
[9/21] Compiling grammar.cc
[9/21] Compiling fsm_builder.cc
[9/21] Compiling grammar_compiler.cc
[9/21] Compiling structural_tag.cc
[9/21] Compiling grammar_functor.cc
[9/21] Compiling grammar_parser.cc
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:276d66a16377d3ee059b2e3429cbc1154d9f01e42871e5d702fd5d8b9044d93d
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:71:46: error: no template named 'shared_future' in namespace 'std'; did you mean 'shared_ptr'?
   71 |   auto Submit(F&& f, Args&&... args) -> std::shared_future<std::invoke_result_t<F, Args...>> {
      |                                         ~~~~~^~~~~~~~~~~~~
      |                                              shared_ptr
/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/__memory/shared_ptr.h:416:59: note: 'shared_ptr' declared here
  416 | class _LIBCPP_SHARED_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS shared_ptr {
      |                                                           ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:160:20: error: no member named 'thread' in namespace 'std'; did you mean 'fread'?
  160 |   std::vector<std::thread> workers_;
      |               ~~~~~^~~~~~
      |                    fread
/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/cstdio:141:9: note: 'fread' declared here
  141 | using ::fread _LIBCPP_USING_IF_EXISTS;
      |         ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:160:15: error: template argument for template type parameter must be a type
  160 |   std::vector<std::thread> workers_;
      |               ^~~~~~~~~~~
/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/vector:388:17: note: template parameter is declared here
  388 | template <class _Tp, class _Allocator /* = allocator<_Tp> */>
      |                 ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:164:8: error: no type named 'mutex' in namespace 'std'
  164 |   std::mutex queue_mutex_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:166:8: error: no type named 'condition_variable' in namespace 'std'
  166 |   std::condition_variable queue_condition_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:168:8: error: no type named 'condition_variable' in namespace 'std'
  168 |   std::condition_variable tasks_done_condition_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:36:40: error: no member named 'thread' in namespace 'std'
   36 |   ThreadPool(size_t num_threads = std::thread::hardware_concurrency()) {
      |                                   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:44:18: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   44 |             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/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:44:35: error: no member named 'mutex' in namespace 'std'
   44 |             std::unique_lock<std::mutex> lock(queue_mutex_);
      |                              ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:45:35: error: use of undeclared identifier 'lock'; did you mean 'clock'?
   45 |             queue_condition_.wait(lock, [this] { return shutdown_ || !task_queue_.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);
      |         ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:75:39: error: no member named 'packaged_task' in namespace 'std'
   75 |     auto task = std::make_shared<std::packaged_task<return_type()>>(
      |                                  ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:79:10: error: no template named 'shared_future' in namespace 'std'; did you mean 'shared_ptr'?
   79 |     std::shared_future<return_type> res = task->get_future().share();
      |     ~~~~~^~~~~~~~~~~~~
      |          shared_ptr
/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/__memory/shared_ptr.h:416:59: note: 'shared_ptr' declared here
  416 | class _LIBCPP_SHARED_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS shared_ptr {
      |                                                           ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:82:12: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   82 |       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/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:82:29: error: no member named 'mutex' in namespace 'std'
   82 |       std::unique_lock<std::mutex> lock(queue_mutex_);
      |                        ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:104:12: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  104 |       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/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:104:29: error: no member named 'mutex' in namespace 'std'
  104 |       std::unique_lock<std::mutex> lock(queue_mutex_);
      |                        ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:115:10: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
  115 |     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/Sources/Cxgrammar/cpp/grammar_compiler.cc:26:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:115:27: error: no member named 'mutex' in namespace 'std'
  115 |     std::unique_lock<std::mutex> lock(queue_mutex_);
      |                      ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:116:32: error: use of undeclared identifier 'lock'; did you mean 'clock'?
  116 |     tasks_done_condition_.wait(lock, [this] { return unfinished_task_count_ == 0; });
      |                                ^~~~
      |                                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);
      |         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[0/13] Compiling grammar_compiler.cc
[0/13] Compiling grammar.cc
[0/13] Compiling structural_tag.cc
[0/13] Compiling grammar_parser.cc
[0/13] Compiling grammar_functor.cc
[0/13] Compiling fsm_builder.cc
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:71:46: error: no template named 'shared_future' in namespace 'std'; did you mean 'shared_ptr'?
   71 |   auto Submit(F&& f, Args&&... args) -> std::shared_future<std::invoke_result_t<F, Args...>> {
      |                                         ~~~~~^~~~~~~~~~~~~
      |                                              shared_ptr
/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/__memory/shared_ptr.h:416:59: note: 'shared_ptr' declared here
  416 | class _LIBCPP_SHARED_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS shared_ptr {
      |                                                           ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:160:20: error: no member named 'thread' in namespace 'std'; did you mean 'fread'?
  160 |   std::vector<std::thread> workers_;
      |               ~~~~~^~~~~~
      |                    fread
/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/cstdio:141:9: note: 'fread' declared here
  141 | using ::fread _LIBCPP_USING_IF_EXISTS;
      |         ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:160:15: error: template argument for template type parameter must be a type
  160 |   std::vector<std::thread> workers_;
      |               ^~~~~~~~~~~
/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/vector:388:17: note: template parameter is declared here
  388 | template <class _Tp, class _Allocator /* = allocator<_Tp> */>
      |                 ^
In file included from /host/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:27:
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:164:8: error: no type named 'mutex' in namespace 'std'
  164 |   std::mutex queue_mutex_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:166:8: error: no type named 'condition_variable' in namespace 'std'
  166 |   std::condition_variable queue_condition_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:168:8: error: no type named 'condition_variable' in namespace 'std'
  168 |   std::condition_variable tasks_done_condition_;
      |   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:36:40: error: no member named 'thread' in namespace 'std'
   36 |   ThreadPool(size_t num_threads = std::thread::hardware_concurrency()) {
      |                                   ~~~~~^
/host/spi-builder-workspace/Sources/Cxgrammar/cpp/support/thread_pool.h:44:18: error: no template named 'unique_lock' in namespace 'std'; did you mean 'unique_copy'?
   44 |             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) {
      | ^
[0/13] Compiling grammar_matcher.cc
[0/13] Compiling fsm.cc
BUILD FAILURE 6.1 wasm