Skip to content

Bug Report: libsql-experimental build fails on Windows with Python 3.12 #74

@minhquan23102000

Description

@minhquan23102000

Duplicate: #63. But more detailed on the error.

Bug Report: libsql-experimental build fails on Windows with Python 3.12

Description:

When attempting to install a package that depends on libsql-experimental on Windows with Python 3.12, the build process fails due to an error in the libsql-ffi build script.

The build process fails with the following error:

uv add libsql-experimental
Resolved 112 packages in 87ms
error: Failed to prepare distributions
  Caused by: Failed to download and build `libsql-experimental==0.0.41`
  Caused by: Build backend failed to build wheel through `build_wheel` (exit code: 1)

[stdout]
Running `maturin pep517 build-wheel -i C:\Users\PC\AppData\Local\uv\cache\builds-v0\.tmpmqnS34\Scripts\python.exe --compatibility off`

[stderr]
📦 Including license file "C:\Users\PC\AppData\Local\uv\cache\sdists-v5\pypi\libsql-experimental\0.0.41\5XwiJnUIC1DRVfvR9ZjQq\libsql_experimental-0.0.41.tar.gz\LICENSE.md"
🔗 Found pyo3 bindings
🐍 Found CPython 3.12 at C:\Users\PC\AppData\Local\uv\cache\builds-v0\.tmpmqnS34\Scripts\python.exe
📡 Using build options features from pyproject.toml
   Compiling ring v0.17.8
   Compiling pyo3-build-config v0.19.2
   Compiling libsql-ffi v0.3.0 (https://github.com/tursodatabase/libsql/?rev=21f405b087b210734367fb1343ed436249c8dc10#21f405b0)
   Compiling libsql-sqlite3-parser v0.12.0 (https://github.com/tursodatabase/libsql/?rev=21f405b087b210734367fb1343ed436249c8dc10#21f405b0)
error: failed to run custom build command for `libsql-ffi v0.3.0 (https://github.com/tursodatabase/libsql/?rev=21f405b087b210734367fb1343ed436249c8dc10#21f405b0)`

Caused by:
  process didn't exit successfully: `C:\Users\PC\AppData\Local\uv\cache\sdists-v5\pypi\libsql-experimental\0.0.41\5XwiJnUIC1DRVfvR9ZjQq\libsql_experimental-0.0.41.tar.gz\target\release\build\libsql-ffi-53910dba132d728a\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=bundled/src/sqlite3.c
  cargo:rerun-if-changed=C:\Users\PC\AppData\Local\uv\cache\sdists-v5\pypi\libsql-experimental\0.0.41\5XwiJnUIC1DRVfvR9ZjQq\libsql_experimental-0.0.41.tar.gz\target\release\build\libsql-ffi-e718525dc38faed8\out/sqlite3mc/libsqlite3mc_static.a

  --- stderr
  thread 'main' panicked at C:\Users\PC\scoop\persist\rustup\.cargo\git\checkouts\libsql-311658d335deb3b1\21f405b\libsql-ffi\build.rs:48:10:
  called `Result::unwrap()` on an `Err` value: Error { kind: NotFound, message: "program not found" }
  stack backtrace:
     0:     0x7ff77a0e3f41 - std::backtrace_rs::backtrace::dbghelp64::trace
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:91
     1:     0x7ff77a0e3f41 - std::backtrace_rs::backtrace::trace_unsynchronized
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\..\..\backtrace\src\backtrace\mod.rs:66
     2:     0x7ff77a0e3f41 - std::sys::backtrace::_print_fmt
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\sys\backtrace.rs:66
     3:     0x7ff77a0e3f41 - std::sys::backtrace::impl$0::print::impl$0::fmt
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\sys\backtrace.rs:39
     4:     0x7ff77a105b39 - core::fmt::rt::Argument::fmt
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/core\src\fmt\rt.rs:177
     5:     0x7ff77a105b39 - core::fmt::write
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/core\src\fmt\mod.rs:1178
     6:     0x7ff77a0df4b7 - std::io::Write::write_fmt<std::sys::pal::windows::stdio::Stderr>
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\io\mod.rs:1823
     7:     0x7ff77a0e6309 - std::panicking::default_hook::closure$1
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panicking.rs:266
     8:     0x7ff77a0e5e8c - std::panicking::default_hook
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panicking.rs:293
     9:     0x7ff77a0e6c12 - std::panicking::rust_panic_with_hook
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panicking.rs:797
    10:     0x7ff77a0e6a56 - std::panicking::begin_panic_handler::closure$0
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panicking.rs:671
    11:     0x7ff77a0e49ff - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\sys\backtrace.rs:170
    12:     0x7ff77a0e6666 - std::panicking::begin_panic_handler
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panicking.rs:662
    13:     0x7ff77a10eae4 - core::panicking::panic_fmt
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/core\src\panicking.rs:74
    14:     0x7ff77a10ef00 - core::result::unwrap_failed
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/core\src\result.rs:1677
    15:     0x7ff779b7460e - enum2$<core::result::Result<std::process::Output,std::io::error::Error> >::unwrap
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library\core\src\result.rs:1102
    16:     0x7ff779b7460e - build_script_build::main
                                 at C:\Users\PC\scoop\persist\rustup\.cargo\git\checkouts\libsql-311658d335deb3b1\21f405b\libsql-ffi\build.rs:42
    17:     0x7ff779b7201b - core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library\core\src\ops\function.rs:250
    18:     0x7ff779b71a6e - core::hint::black_box
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library\core\src\hint.rs:388
    19:     0x7ff779b71a6e - std::sys::backtrace::__rust_begin_short_backtrace<void (*)(),tuple$<> >
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library\std\src\sys\backtrace.rs:154
    20:     0x7ff779b71921 - std::rt::lang_start::closure$0<tuple$<> >
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library\std\src\rt.rs:164
    21:     0x7ff77a0dad99 - std::rt::lang_start_internal::closure$2
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\rt.rs:143
    22:     0x7ff77a0dad99 - std::panicking::try::do_call
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panicking.rs:554
    23:     0x7ff77a0dad99 - std::panicking::try
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panicking.rs:518
    24:     0x7ff77a0dad99 - std::panic::catch_unwind
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\panic.rs:345
    25:     0x7ff77a0dad99 - std::rt::lang_start_internal
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library/std\src\rt.rs:143
    26:     0x7ff779b718fa - std::rt::lang_start<tuple$<> >
                                 at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14\library\std\src\rt.rs:163
    27:     0x7ff779b78d59 - main
    28:     0x7ff77a10bf00 - invoke_main
                                 at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
    29:     0x7ff77a10bf00 - __scrt_common_main_seh
                                 at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    30:     0x7ff875bd257d - BaseThreadInitThunk
    31:     0x7ff87736af08 - RtlUserThreadStart
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit code: 101": `"cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "C:\\Users\\PC\\AppData\\Local\\uv\\cache\\sdists-v5\\pypi\\libsql-experimental\\0.0.41\\5XwiJnUIC1DRVfvR9ZjQq\\libsql_experimental-0.0.41.tar.gz\\Cargo.toml" "--release" "--lib"`
Error: command ['maturin', 'pep517', 'build-wheel', '-i', 'C:\\Users\\PC\\AppData\\Local\\uv\\cache\\builds-v0\\.tmpmqnS34\\Scripts\\python.exe', '--compatibility', 'off'] returned non-zero exit status 1

Steps to reproduce:

  1. Set up a Python 3.12 environment on Windows 11.
  2. Attempt to install a package that depends on libsql-experimental, for example, using pip install <package_name>.

Environment:

  • Operating System: Windows 11
  • Python: 3.12
  • Cargo version: 1.82.0 (8f40fc59f 2024-08-21)
  • CMake: version 3.30.5
  • Clang version 19.1.2

Possible cause:

The error message "program not found" suggests that the libsql-ffi build script is failing to find a required program on the system. This could be due to a missing dependency or an incorrect path configuration.

Labels:

  • bug
  • windows
  • python3.12
  • build

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions