Skip to content

[Can't build library]: maturin develop failedΒ #380

@lemorage

Description

@lemorage

I went through the "Setting up development environment" part in the Cocoindex contribution guide, however I got the following errors when running maturin develop, any idea?

ο£Ώ cocoindex rustup --version
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.81.0 (eeb90cda1 2024-09-04)`

ο£Ώ cocoindex uv run maturin develop
  Γ— Failed to build `cocoindex @ file:///Users/clannad/Dev/GitHub/cocoindex`
  β”œβ”€β–Ά The build backend returned an error
  ╰─▢ Call to `maturin.build_editable` failed (exit status: 1)

      [stdout]
      Running `maturin pep517 build-wheel -i
      /Users/clannad/.cache/uv/builds-v0/.tmpbRoqRd/bin/python --compatibility
      off --editable`

      [stderr]
      πŸ“¦ Including license file "/Users/clannad/Dev/GitHub/cocoindex/LICENSE"
      🍹 Building a mixed python/rust project
      πŸ”— Found pyo3 bindings
      🐍 Found CPython 3.12 at
      /Users/clannad/.cache/uv/builds-v0/.tmpbRoqRd/bin/python
      πŸ“‘ Using build options features, bindings from pyproject.toml
         Compiling libc v0.2.172
         Compiling proc-macro2 v1.0.95
         ......
         Compiling async-openai v0.28.1
         Compiling google-drive3 v6.0.0+20240618
         Compiling cocoindex v999.0.0 (/Users/clannad/Dev/GitHub/cocoindex)
      error[E0658]: referencing statics in constants is unstable
       --> src/base/field_attrs.rs:7:47
        |
      7 | pub static CONTENT_FILENAME: &str = concatcp!(COCOINDEX_PREFIX,
      "content_filename");
        |                                               ^^^^^^^^^^^^^^^^
        |
        = note: see issue #119618
      <https://github.com/rust-lang/rust/issues/119618> for more information
        = note: `static` and `const` variables can refer to other `const`
      variables. A `const` variable, however, cannot refer to a `static`
      variable.
        = help: to fix this, the value can be extracted to a `const` and then
      used.

      error[E0658]: referencing statics in constants is unstable
        --> src/base/field_attrs.rs:11:48
         |
      11 | pub static CONTENT_MIME_TYPE: &str = concatcp!(COCOINDEX_PREFIX,
      "content_mime_type");
         |                                                ^^^^^^^^^^^^^^^^
         |
         = note: see issue #119618
      <https://github.com/rust-lang/rust/issues/119618> for more information
         = note: `static` and `const` variables can refer to other `const`
      variables. A `const` variable, however, cannot refer to a `static`
      variable.
         = help: to fix this, the value can be extracted to a `const` and
      then used.

      error[E0658]: referencing statics in constants is unstable
        --> src/base/field_attrs.rs:15:46
         |
      15 | pub static CHUNK_BASE_TEXT: &str = concatcp!(COCOINDEX_PREFIX,
      "chunk_base_text");
         |                                              ^^^^^^^^^^^^^^^^
         |
         = note: see issue #119618
      <https://github.com/rust-lang/rust/issues/119618> for more information
         = note: `static` and `const` variables can refer to other `const`
      variables. A `const` variable, however, cannot refer to a `static`
      variable.
         = help: to fix this, the value can be extracted to a `const` and
      then used.

      error[E0658]: referencing statics in constants is unstable
        --> src/base/field_attrs.rs:18:50
         |
      18 | pub static _VECTOR_ORIGIN_TEXT: &str = concatcp!(COCOINDEX_PREFIX,
      "vector_origin_text");
         |                                                  ^^^^^^^^^^^^^^^^
         |
         = note: see issue #119618
      <https://github.com/rust-lang/rust/issues/119618> for more information
         = note: `static` and `const` variables can refer to other `const`
      variables. A `const` variable, however, cannot refer to a `static`
      variable.
         = help: to fix this, the value can be extracted to a `const` and
      then used.

      error[E0658]: use of unstable library feature
      'option_get_or_insert_default'
        --> src/base/json_schema.rs:50:29
         |
      50 |             schema.metadata.get_or_insert_default().description =
      Some(description.to_string());
         |                             ^^^^^^^^^^^^^^^^^^^^^
         |
         = note: see issue #82901
      <https://github.com/rust-lang/rust/issues/82901> for more information

      error[E0658]: use of unstable library feature 'entry_insert'
         --> src/execution/memoization.rs:196:23
          |
      196 |                 entry.insert_entry(CacheEntry {
          |                       ^^^^^^^^^^^^
          |
          = note: see issue #65225
      <https://github.com/rust-lang/rust/issues/65225> for more information

      error[E0658]: use of unstable library feature 'is_none_or'
        --> src/ops/sources/local_file.rs:36:14
         |
      36 |             .is_none_or(|glob_set| glob_set.is_match(path))
         |              ^^^^^^^^^^
         |
         = note: see issue #126383
      <https://github.com/rust-lang/rust/issues/126383> for more information

      error[E0658]: use of unstable library feature 'is_none_or'
         --> src/ops/storages/neo4j.rs:879:39
          |
      879 |             if desired_state.as_ref().is_none_or(|desired| {
          |                                       ^^^^^^^^^^
          |
          = note: see issue #126383
      <https://github.com/rust-lang/rust/issues/126383> for more information

      error[E0658]: use of unstable library feature
      'option_get_or_insert_default'
         --> src/ops/storages/neo4j.rs:883:22
          |
      883 |                     .get_or_insert_default()
          |                      ^^^^^^^^^^^^^^^^^^^^^
          |
          = note: see issue #82901
      <https://github.com/rust-lang/rust/issues/82901> for more information

      error[E0658]: use of unstable library feature 'is_none_or'
         --> src/setup/states.rs:301:14
          |
      301 |             .is_none_or(|c| c.change_type() ==
      SetupChangeType::NoChange)
          |              ^^^^^^^^^^
          |
          = note: see issue #126383
      <https://github.com/rust-lang/rust/issues/126383> for more information

      error[E0658]: use of unstable library feature 'is_none_or'
         --> src/setup/states.rs:344:18
          |
      344 |                 .is_none_or(|t| t.is_up_to_date())
          |                  ^^^^^^^^^^
          |
          = note: see issue #126383
      <https://github.com/rust-lang/rust/issues/126383> for more information

      For more information about this error, try `rustc --explain E0658`.
      error: could not compile `cocoindex` (lib) due to 11 previous errors
      πŸ’₯ maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101":
      `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.12-64bit"
      PYO3_PYTHON="/Users/clannad/.cache/uv/builds-v0/.tmpbRoqRd/bin/python"
      PYTHON_SYS_EXECUTABLE="/Users/clannad/.cache/uv/builds-v0/.tmpbRoqRd/bin/python"
      "cargo" "rustc" "--features" "pyo3/extension-module"
      "--message-format" "json-render-diagnostics" "--manifest-path"
      "/Users/clannad/Dev/GitHub/cocoindex/Cargo.toml" "--release" "--lib"
      "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C"
      "link-args=-Wl,-install_name,@rpath/cocoindex._engine.cpython-312-darwin.so"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i',
      '/Users/clannad/.cache/uv/builds-v0/.tmpbRoqRd/bin/python',
      '--compatibility', 'off', '--editable'] returned non-zero exit status 1

      hint: This usually indicates a problem with the package or the build
      environment.

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