Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sea-query-rusqlite doesn't compile with v0.29.0 of rusqlite #669

Closed
mihirsamdarshi opened this issue Aug 3, 2023 · 1 comment
Closed

Comments

@mihirsamdarshi
Copy link

mihirsamdarshi commented Aug 3, 2023

Description

When trying to use sea-query-rusqlite with a more recent version of rusqlite I get compile errors. I was able to resolve this, by removing the restrictive = "0.28" from the dependency section of sea-query-rusqlite's Cargo.toml

Steps to Reproduce

[package]
name = "testing"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rusqlite = { version = "0", features = ["modern-full", "bundled-sqlcipher-vendored-openssl"], default-features = false }
rusqlite_migration = "^1.1.0-alpha.2"
sea-query = { version = "0", features = ["derive", "attr", "backend-sqlite"], default-features = false }
sea-query-rusqlite = { version = "0", features = ["with-chrono", "with-json", "with-time", "with-uuid"], default-features = false }

Expected Behavior

SeaORM should work with rusqlite v0.29.0.

Note that this issue doesn't appear with the following key replacement:

rusqlite_migration = "1"

Actual Behavior

    Updating crates.io index
error: failed to select a version for `libsqlite3-sys`.
    ... required by package `rusqlite v0.28.0`
    ... which satisfies dependency `rusqlite = "^0.28"` of package `sea-query-rusqlite v0.1.0`
    ... which satisfies dependency `sea-query-rusqlite = "^0"` of package `testing v0.1.0 (/Users/me/Code/testing)`
versions that meet the requirements `^0.25.0` are: 0.25.2, 0.25.1, 0.25.0

the package `libsqlite3-sys` links to the native library `sqlite3`, but it conflicts with a previous package which links to `sqlite3` as well:
package `libsqlite3-sys v0.26.0`
    ... which satisfies dependency `libsqlite3-sys = "^0.26.0"` of package `rusqlite v0.29.0`
    ... which satisfies dependency `rusqlite = "=0.29.0"` of package `rusqlite_migration v1.1.0-alpha.2`
    ... which satisfies dependency `rusqlite_migration = "^1.1.0-alpha.2"` of package `testing v0.1.0 (/Users/me/Code/testing)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the links ='libsqlite3-sys' value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.

failed to select a version for `libsqlite3-sys` which could resolve this conflict

Reproduces How Often

Yes, using the attached Cargo.toml

Versions

OS: macOS 14.0-beta
DB: Sqlite

@tyt2y3
Copy link
Member

tyt2y3 commented Aug 31, 2023

Released rusqlite binding 0.4 for sea-query 0.30

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants